diff --git a/.gitignore b/.gitignore
index 2f7896d1..54c77670 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,151 @@
+#
+# .gitignore
+# Libresonic/libresonic
+#
+# Project-wide gitignores
+#
+#
+# Sourced from https://github.com/github/gitignore/
+# Redistributed under GPLv3+, as allowed by LICENSE found there
+# Copyright (c) 2014 Github, Inc.
+#
+## Windows.gitignore
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+
+## OSX.gitignore
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear on external disk
+.Spotlight-V100
+.Trashes
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+
+## vim.gitignore
+[._]*.s[a-w][a-z]
+[._]s[a-w][a-z]
+*.un~
+Session.vim
+.netrwhist
+*~
+
+
+## NotepadPP.gitignore
+# Notepad++ backups #
+*.bak
+
+
+## Java.gitignore
+*.class
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+
+## Maven.gitignore
target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+
+## Eclipse.gitignore
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# Eclipse Core
+.project
+
+# Intellij
+*.iml
+.idea
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# JDT-specific (Eclipse Java Development Tools)
+.classpath
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..64fdcf2a
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,15 @@
+language: java
+sudo: required
+jdk:
+ - oraclejdk8
+cache:
+ directories:
+ - $HOME/.m2
+install:
+ - sudo apt-get -qq update
+ - sudo apt-get -y install lintian fakeroot rpm python-rpm
+ - git clone https://github.com/rpm-software-management/rpmlint -o rpmlint-1.9
+ - sudo make -C rpmlint install
+script:
+ - mvn -Pfull,rpm package install
+ - mvn -Pfull -pl libresonic-assembly assembly:single
diff --git a/BUILD.md b/BUILD.md
new file mode 100644
index 00000000..d4f639f9
--- /dev/null
+++ b/BUILD.md
@@ -0,0 +1,92 @@
+
+Requirements
+------------
+
+ * Recent version of [Maven](http://maven.apache.org/).
+ * A JDK installation. 1.8.x series of OpenJDK or Oracle JDK 8+ should work.
+ * Optional: lintian and fakeroot, for .deb package
+ * Optional: rpm and rpmlint, for .rpm package
+ * Test as follows:
+
+```
+$ which mvn
+/usr/local/bin/mvn
+$ echo $JAVA_HOME
+/usr/lib/jvm/java-1.8.0-openjdk.x86_64
+$
+```
+
+Now you can clone a copy of this repository:
+
+```
+$ git clone git://github.com/Libresonic/libresonic.git
+$ cd libresonic
+$
+```
+
+Standalone WAR
+--------------
+
+At this point you are ready to build the basic Libresonic WAR. This is required for all the other build targets, so you should do it before proceeding.
+
+```
+$ mvn package
+
+[INFO] Building war: /path/to/repo/libresonic/libresonic-main/target/libresonic.war
+
+$
+```
+
+Tomcat Installation
+-------------------
+
+The WAR may be copied directly to a Tomcat server's webapps/ directory and deployed.
+
+```
+$ cp libresonic-main/target/libresonic.war /var/lib/tomcat6/webapps/
+$
+```
+
+
+Packaged .deb
+-------------
+
+You can furthermore go ahead to create a .deb suitable for installation on
+Debian or Ubuntu.
+
+```
+$ mvn -P full -pl libresonic-booter -am install
+$ mvn -P full -pl libresonic-installer-debian -am install
+$ sudo dpkg -i ./libresonic-installer-debian/target/libresonic-*.deb
+```
+
+Packaged RPM
+------------
+
+Building a RPM package is very similar :
+
+```
+$ mvn -P full -pl libresonic-booter -am install
+$ mvn -P full,rpm -pl libresonic-installer-rpm -am install
+$ sudo rpm -ivh libresonic-installer-rpm/target/libresonic-*.rpm
+```
+
+Additional release archives
+---------------------------
+
+Additional release archives can be built using the following commands :
+
+```
+$ mvn -Pfull -pl libresonic-assembly assembly:single
+```
+
+These archives are built in `libresonic-assembly/targets` and include :
+
+* The source distribution
+* The standalone archive (for use without a WAR container)
+* The WAR archive (for WAR containers)
+
+Good luck!
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aa021909..f72934f0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,27 @@
# Libresonic/libresonic
# -->
+v6.1.rc1
+--------
+
+ * Metaproject: Jenkins builds!
+ * More documentation
+ * Translation updates
+ * Improve shuffling behaviour
+ * Lots of small fixes, many more to come
+
+v6.1.beta1
+----------
+
+ * Meant as a release candidate; failed to make it past the Primary election.
+
+v6.1-alpha1
+-----------
+
+ * Search+replace subsonic-->libresonic
+ * Move out of org.sourceforge.subsonic namespace
+ * Develop becomes horribly unstable, you shouldn't be using this.
+
v6.0.1
------
diff --git a/INSTALL.md b/INSTALL.md
index ad4e24b0..b4dfcf15 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -2,7 +2,110 @@
# INSTALL.md
# Libresonic/libresonic
-->
-Libresonic Installation
------------------------
-At present, building from the `stable` branch is not recommended. See the `develop` branch for more information. You can download the [Stable WAR](https://github.com/Libresonic/libresonic/releases) and [deploy using Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/deployer-howto.html).
+# Installing Libresonic
+
+This document is designed to explain how to install LibreSonic as a Tomcat module, on a computer running Linux. As the project expands, this guide will also expand to include other operating systems.
+
+## Installing From Pre-Compiled Package
+
+### Prerequisites
+
+In order to install and run Libresonic, you will need:
+
+ * A JDK installation. 1.8.x series of OpenJDK or Oracle JDK 8+ should work.
+ * A running [Tomcat](http://tomcat.apache.org/) server. If you're unfamiliar with Tomcat, there are many [guides](https://www.linode.com/docs/websites/frameworks/apache-tomcat-on-ubuntu-16-04) on it.
+
+
+### Download Libresonic
+
+Daily WAR files are built by Jenkins and available [here](https://jenkins.zifnab.net/job/libresonic/), curtesy of [zifnab06](https://github.com/zifnab06).
+
+1. Download the latest war file:
+
+ wget https://jenkins.zifnab.net/job/libresonic/lastSuccessfulBuild/artifact/.repository/org/libresonic/player/libresonic-main/6.1.rc1/libresonic-main-6.1.rc1.war -O /var/lib/tomcat8/webapps/libresonic.war
+
+ Note that this command copies the war file directly to the Tomcat webapps directory, and renames it to `libresonic.war`.
+
+2. Create the libresonic directory and assign ownership to the Tomcat system user (if running tomcat as a service):
+
+ mkdir /var/libresonic
+ chown tomcat8:tomcat8 /var/libresonic/
+
+3. Start Tomcat, or restart it if running as a service, as in the example below using Systemd:
+
+ systemctl restart tomcat8.service
+
+ Note that it may take ~30 seconds after the service restarts for Tomcat to fully deploy the app. You can monitor /var/log/tomcat8/catalina.out for the following message:
+
+ INFO: Deployment of web application archive /var/lib/tomcat8/webapps/libresonic.war has finished in 46,192 ms
+
+4. In your web browser, navigate to `192.0.2.10:8080/libresonic/`, replacing `192.0.2.0` with your server's IP address, or `127.0.0.1` if installing locally.
+
+## Installing From Source
+
+### Prerequisites
+
+In order to build, install, and run Libresonic, you will need:
+
+ * A recent version of [Maven](http://maven.apache.org/).
+ * A JDK installation. 1.8.x series of OpenJDK or Oracle JDK 8+ should work.
+ * A running [Tomcat](http://tomcat.apache.org/) server. If you're unfamiliar with Tomcat, there are many [guides](https://www.linode.com/docs/websites/frameworks/apache-tomcat-on-ubuntu-16-04) on it.
+
+On a Debian-based system, you can install all these prerequisites at once with:
+
+ apt-get update; apt-get install tomcat8 openjdk-7-jdk maven
+
+### Test Your System
+
+1. Confirm your Maven installation:
+
+ which mvn
+
+2. Confirm that the $JAVA_HOME environment variable is set:
+
+ echo $JAVA_HOME
+
+3. If Java is installed, but the `JAVA_HOME` variable not set, be sure to [set it](http://www.cyberciti.biz/faq/linux-unix-set-java_home-path-variable/) before you continue.
+
+
+### Download and Build Libresonic
+
+1. Clone the Libresonic repo:
+
+ git clone git://github.com/Libresonic/libresonic.git
+ cd libresonic
+
+ If you don't have a GitHub account, use https://github.com/Libresonic/libresonic.git instead.
+
+2. At the time of this writing, we reccomend building from the development branch, as Libresonic has not had a stable release since being forked.
+
+ git checkout develop
+
+3. Using Maven, build Subsonic:
+
+ mvn package
+
+4. You should know have a war file:
+
+ ls libresonic-main/target/libresonic.war
+ libresonic-main/target/libresonic.war
+
+5. Copy the war file to the Tomcat webapps directory:
+
+ cp libresonic-main/target/libresonic.war /var/lib/tomcat8/webapps
+
+6. Create the libresonic directory and assign ownership to the Tomcat system user (if running tomcat as a service):
+
+ mkdir /var/libresonic
+ chown tomcat8:tomcat8 /var/libresonic/
+
+7. Start Tomcat, or restart it if running as a service, as in the example below using Systemd:
+
+ systemctl restart tomcat8.service
+
+ Note that it may take ~30 seconds after the service restarts for Tomcat to fully deploy the app. You can monitor /var/log/tomcat8/catalina.out for the following message:
+
+ INFO: Deployment of web application archive /var/lib/tomcat8/webapps/libresonic.war has finished in 46,192 ms
+
+8. In your web browser, navigate to `192.0.2.10:8080/libresonic/`, replacing `192.0.2.0` with your server's IP address, or `127.0.0.1` if installing locally.
\ No newline at end of file
diff --git a/MIGRATE.md b/MIGRATE.md
new file mode 100644
index 00000000..3f1e2990
--- /dev/null
+++ b/MIGRATE.md
@@ -0,0 +1,36 @@
+Upgrade to Libresonic from Subsonic
+================
+
+This guide helps you to migrate your data from Subsonic to Libresonic. It has been tested with Subsonic 5 to Libresonic 6.
+
+Install Libresonic as described in INSTALL.md. The author of this guide used the standalone solution without Java Tomcat.
+
+After installation of Libresonic, the database needs to be migrated. In preperation for that, stop the Libresonic service
+
+ sudo service libresonic stop
+
+If you ran Subsonic before, your data will be (by default) stored in `/var/subsonic`. Assuming you did not use Libresonic before, we will delete all data from Libresonic
+
+ sudo rm -r /var/libresonic # WARNING: DELETES all Libresonic data (Subsonic data will be kept)
+
+We then copy Subsonic data to Libresonic location. Be aware that a couple of files need to be renamed:
+
+ sudo cp -a /var/subsonic /var/libresonic
+ sudo mv /var/libresonic/subsonic_sh.log libresonic_sh.log
+ sudo mv /var/libresonic/subsonic.log libresonic.log
+ sudo mv /var/libresonic/subsonic.properties libresonic.properties
+ sudo mv /var/libresonic/db/subsonic.backup /var/libresonic/db/libresonic.backup
+ sudo mv /var/libresonic/db/subsonic.data /var/libresonic/db/libresonic.data
+ sudo mv /var/libresonic/db/subsonic.lck /var/libresonic/db/libresonic.lck
+ sudo mv /var/libresonic/db/subsonic.log /var/libresonic/db/libresonic.log
+ sudo mv /var/libresonic/db/subsonic.properties /var/libresonic/db/libresonic.properties
+ sudo mv /var/libresonic/db/subsonic.script /var/libresonic/db/libresonic.script
+
+Then start Libresonic service again.
+
+ sudo service libresonic start
+
+Your old settings will be there. If you wish, you can delete subsonic data
+
+ sudo rm -r /var/subsonic # Optional, THIS WILL DELETE SUBSONIC DATA
+
diff --git a/contrib/deploy.sh b/contrib/deploy.sh
new file mode 100755
index 00000000..84eeda63
--- /dev/null
+++ b/contrib/deploy.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+# contrib/deploy.sh
+# Libresonic/libresonic
+#
+# Helper script to shorten dev/build/deployment
+#
+
+sudo systemctl stop tomcat
+sudo rm /var/lib/tomcat/webapps/libresonic* -rf
+sudo cp libresonic-main/target/libresonic.war /var/lib/tomcat/webapps/
+sudo systemctl start tomcat
+
diff --git a/documentation/FreeBSD-FreeNAS-Install.md b/documentation/FreeBSD-FreeNAS-Install.md
new file mode 100644
index 00000000..5606cc96
--- /dev/null
+++ b/documentation/FreeBSD-FreeNAS-Install.md
@@ -0,0 +1,143 @@
+# Installing Libresonic on FreeBSD 10.3 and FreeNAS 9.10
+
+### Preamble
+This guide will wallk you through the process of deploying Libresonic on FreeBSD either in a Jail on on the main system. The prerequisites are you have root access on your FreeBSD machine (or jail), the ip address of the machine (or jail) and the Libresonic war available at the [Libresonic github page](https://github.com/Libresonic/libresonic/releases)
+
+If on FreeNAS create a standard jail in the web interface and enter the shell.
+
+### 1. Install Tomcat
+To run Libresonic we need a server to run it in. Log into your machine and then run these commands either as root or with sudo
+
+ #pkg install tomcat8 nano
+
+Hit y on all prompts to complete installation of Tomcat
+
+### 2.Configure Tomcat
+Edit Tomcat's user configuration file with your favourite text editor. We installed nano in step 1.
+
+ #rm /usr/local/apache-tomcat-8.0/conf/tomcat-users.xml
+ #nano /usr/local/apache-tomcat-8.0/conf/tomcat-users.xml
+
+
+Copy this
+
+
+
+
+
+
+
+
+
+
+
+
+
+Use Ctrl-O to save and y to confirm. Ctrl-X to exit Nano.
+
+If you wish to use a different username and password please append the second last line to contain your preferred username and password.
+
+
+
+### 3. Start and test Tomcat
+ #echo tomcat8_enable="YES" >> /etc/rc.conf
+ #service tomcat8 start
+
+Test Tomcat is listening on port 8080
+
+ # netstat -an | grep 8080
+It should return a line containing the IP address of your system (or jail). ie mine returns
+
+ tcp4 0 0 10.0.0.10.8080 *.* LISTEN
+If in a jail it may also return the line "netstat: kvm not available: /dev/mem: No such file or directory" This can be ignored.
+
+### 4. Create directories and set up permissions
+ #mkdir /var/libresonic
+ #chown -R www:www /var/libresonic
+ #chown -R www:www /usr/local/apache-tomcat-8.0/webapps
+
+### 5. Deploy Libresonic
+Open a web browser and enter your servers IP address in the url bar followed by :8080 eg
+
+ 10.0.0.10:8080
+
+You should be greeted by the Apache Tomcat page. Click on the Manager App button on the right of the page and enter the username and password used in step 3. Default was username: admin and password: admin
+
+Scroll down to Deploy and the subheading "WAR file to deploy" hit choose file and select the libresonic.war downloaded in the preamble. After selecting press the deploy button. Scroll up and press start. When the page refreshes a message "OK - Started application at context path /libresonic-v6.1.rc1" should be visible.
+
+### 6. Navigate to Libresonic
+
+In a browser. Take your server IP address and port and append the the context path from above
+
+ie if the War deployed was called libresonic-v6.1.rc1.war navigate to:
+
+ 10.0.0.10:8080/libresonic-v6.1.rc1/
+
+### 7. Log into Libresonic
+
+Log in. The default is username: admin password: admin
+Follow the prompts on the web page to change the password. This will log you out. Please re-login with your new password
+
+### 8. Set up media
+If you are on FreeBSD in a jail, consult the documentation for your Jail Manager tool on how to pass through storage. If using FreeNAS please use the FreeNAS webui to pass through the dataset containing your music.
+
+In Libresonic click 2. Setup Media folders.
+
+Name your media folder and put in the path to your music. Then click "Scan media folders now"
+
+Congratulations you have set up Libresonic
+
+##Transcoding Support
+
+If you want transcoding and DON'T need mp3 support
+
+ #pkg install ffmpeg
+ #ln -s /usr/local/bin/ffmpeg /var/libresonic/transcode/ffmpeg
+ #service tomcat8 restart
+
+Congratulations you have transcoding enabled
+
+If you need mp3 support and most likely you will the process is more arduous as FreeBSD's ffmpeg doesn't contain mp3 support by default and must be configured and compiled by the user.
+
+### 1. Install ffmpeg dependencies and Ports Tree
+
+Install the dependencies required to build and use ffmpeg
+
+ #pkg install yasm binutils texi2html frei0r v4l_compat gmake pkgconf perl5 fontconfig freetype2 opencv-core schroedinger libtheora libv4l libva libvdpau libvorbis libvpx libx264 xvid gnutls libiconv
+
+Now install the FreeBSD Ports Tree
+
+ #portsnap fetch
+ #portsnap extract
+
+
+### 2. Build ffmpeg
+Navigate to the ffmpeg port directory
+
+ #cd /usr/ports/multimedia/ffmpeg
+
+Configure ffmpeg build
+
+ #make configure
+
+This will bring up a menu. Scroll down using arrow keys to "LAME" and hit the spacebar to enable it. Press enter to continue.
+The ffmpeg source files will automatically be downloaded then you will be presented with an additional prompt to install documentation. I uncheck with spacebar then press enter to continue.
+
+Commence build and installation of ffmpeg
+
+ #make install clean
+
+Building ffmpeg will take some time depending on the capabilities of your machine, please be patient.
+
+Link ffmpeg to where Libresonic expects the transcoder to be.
+
+ #ln -s /usr/local/bin/ffmpeg /var/libresonic/transcode/ffmpeg
+
+Finally restart tomcat
+
+ #service tomcat8 restart
+
+Congratulations you have ffmpeg with mp3 support installed ready for Libresonic to use.
diff --git a/documentation/INSTALL.md b/documentation/INSTALL.md
new file mode 100644
index 00000000..b4dfcf15
--- /dev/null
+++ b/documentation/INSTALL.md
@@ -0,0 +1,111 @@
+
+
+# Installing Libresonic
+
+This document is designed to explain how to install LibreSonic as a Tomcat module, on a computer running Linux. As the project expands, this guide will also expand to include other operating systems.
+
+## Installing From Pre-Compiled Package
+
+### Prerequisites
+
+In order to install and run Libresonic, you will need:
+
+ * A JDK installation. 1.8.x series of OpenJDK or Oracle JDK 8+ should work.
+ * A running [Tomcat](http://tomcat.apache.org/) server. If you're unfamiliar with Tomcat, there are many [guides](https://www.linode.com/docs/websites/frameworks/apache-tomcat-on-ubuntu-16-04) on it.
+
+
+### Download Libresonic
+
+Daily WAR files are built by Jenkins and available [here](https://jenkins.zifnab.net/job/libresonic/), curtesy of [zifnab06](https://github.com/zifnab06).
+
+1. Download the latest war file:
+
+ wget https://jenkins.zifnab.net/job/libresonic/lastSuccessfulBuild/artifact/.repository/org/libresonic/player/libresonic-main/6.1.rc1/libresonic-main-6.1.rc1.war -O /var/lib/tomcat8/webapps/libresonic.war
+
+ Note that this command copies the war file directly to the Tomcat webapps directory, and renames it to `libresonic.war`.
+
+2. Create the libresonic directory and assign ownership to the Tomcat system user (if running tomcat as a service):
+
+ mkdir /var/libresonic
+ chown tomcat8:tomcat8 /var/libresonic/
+
+3. Start Tomcat, or restart it if running as a service, as in the example below using Systemd:
+
+ systemctl restart tomcat8.service
+
+ Note that it may take ~30 seconds after the service restarts for Tomcat to fully deploy the app. You can monitor /var/log/tomcat8/catalina.out for the following message:
+
+ INFO: Deployment of web application archive /var/lib/tomcat8/webapps/libresonic.war has finished in 46,192 ms
+
+4. In your web browser, navigate to `192.0.2.10:8080/libresonic/`, replacing `192.0.2.0` with your server's IP address, or `127.0.0.1` if installing locally.
+
+## Installing From Source
+
+### Prerequisites
+
+In order to build, install, and run Libresonic, you will need:
+
+ * A recent version of [Maven](http://maven.apache.org/).
+ * A JDK installation. 1.8.x series of OpenJDK or Oracle JDK 8+ should work.
+ * A running [Tomcat](http://tomcat.apache.org/) server. If you're unfamiliar with Tomcat, there are many [guides](https://www.linode.com/docs/websites/frameworks/apache-tomcat-on-ubuntu-16-04) on it.
+
+On a Debian-based system, you can install all these prerequisites at once with:
+
+ apt-get update; apt-get install tomcat8 openjdk-7-jdk maven
+
+### Test Your System
+
+1. Confirm your Maven installation:
+
+ which mvn
+
+2. Confirm that the $JAVA_HOME environment variable is set:
+
+ echo $JAVA_HOME
+
+3. If Java is installed, but the `JAVA_HOME` variable not set, be sure to [set it](http://www.cyberciti.biz/faq/linux-unix-set-java_home-path-variable/) before you continue.
+
+
+### Download and Build Libresonic
+
+1. Clone the Libresonic repo:
+
+ git clone git://github.com/Libresonic/libresonic.git
+ cd libresonic
+
+ If you don't have a GitHub account, use https://github.com/Libresonic/libresonic.git instead.
+
+2. At the time of this writing, we reccomend building from the development branch, as Libresonic has not had a stable release since being forked.
+
+ git checkout develop
+
+3. Using Maven, build Subsonic:
+
+ mvn package
+
+4. You should know have a war file:
+
+ ls libresonic-main/target/libresonic.war
+ libresonic-main/target/libresonic.war
+
+5. Copy the war file to the Tomcat webapps directory:
+
+ cp libresonic-main/target/libresonic.war /var/lib/tomcat8/webapps
+
+6. Create the libresonic directory and assign ownership to the Tomcat system user (if running tomcat as a service):
+
+ mkdir /var/libresonic
+ chown tomcat8:tomcat8 /var/libresonic/
+
+7. Start Tomcat, or restart it if running as a service, as in the example below using Systemd:
+
+ systemctl restart tomcat8.service
+
+ Note that it may take ~30 seconds after the service restarts for Tomcat to fully deploy the app. You can monitor /var/log/tomcat8/catalina.out for the following message:
+
+ INFO: Deployment of web application archive /var/lib/tomcat8/webapps/libresonic.war has finished in 46,192 ms
+
+8. In your web browser, navigate to `192.0.2.10:8080/libresonic/`, replacing `192.0.2.0` with your server's IP address, or `127.0.0.1` if installing locally.
\ No newline at end of file
diff --git a/subsonic-assembly/pom.xml b/libresonic-assembly/pom.xml
similarity index 80%
rename from subsonic-assembly/pom.xml
rename to libresonic-assembly/pom.xml
index e8674e75..a3edd0d9 100644
--- a/subsonic-assembly/pom.xml
+++ b/libresonic-assembly/pom.xml
@@ -2,21 +2,20 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-assembly
+ libresonic-assemblypom
- Subsonic Assembly
+ Libresonic Assembly
- net.sourceforge.subsonic
- subsonic
- 6.0.1
+ org.libresonic.player
+ libresonic
+ 6.1.rc1
- net.sourceforge.subsonic
- subsonic-main
+ org.libresonic.player
+ libresonic-main${project.version}war
@@ -24,7 +23,7 @@
- subsonic-${project.version}
+ libresonic-${project.version}
diff --git a/subsonic-assembly/src/main/assembly/src.xml b/libresonic-assembly/src/main/assembly/src.xml
similarity index 78%
rename from subsonic-assembly/src/main/assembly/src.xml
rename to libresonic-assembly/src/main/assembly/src.xml
index d1e88c97..6fe8be51 100644
--- a/subsonic-assembly/src/main/assembly/src.xml
+++ b/libresonic-assembly/src/main/assembly/src.xml
@@ -22,7 +22,7 @@
- ../subsonic-main
+ ../libresonic-mainsrc/**pom.xml
@@ -31,25 +31,25 @@
README.TXTGetting Started.html
- subsonic-main
+ libresonic-main
- ../subsonic-rest-api
+ ../libresonic-rest-apisrc/**pom.xml
- subsonic-rest-api
+ libresonic-rest-api
- ../subsonic-sonos-api
+ ../libresonic-sonos-apisrc/**pom.xml
- subsonic-sonos-api
+ libresonic-sonos-api
diff --git a/subsonic-assembly/src/main/assembly/standalone.xml b/libresonic-assembly/src/main/assembly/standalone.xml
similarity index 68%
rename from subsonic-assembly/src/main/assembly/standalone.xml
rename to libresonic-assembly/src/main/assembly/standalone.xml
index 7be83f08..8e5562cb 100644
--- a/subsonic-assembly/src/main/assembly/standalone.xml
+++ b/libresonic-assembly/src/main/assembly/standalone.xml
@@ -8,7 +8,7 @@
false
- ../subsonic-main
+ ../libresonic-mainREADME.TXT
@@ -17,25 +17,25 @@
- ../subsonic-main/target
+ ../libresonic-main/target*.war
- ../subsonic-booter/target
+ ../libresonic-booter/target
- subsonic-booter-jar-with-dependencies.jar
+ libresonic-booter-jar-with-dependencies.jar
- ../subsonic-booter/src/main/script
+ ../libresonic-booter/src/main/script
- subsonic.sh
- subsonic.bat
+ libresonic.sh
+ libresonic.bat0777
diff --git a/subsonic-assembly/src/main/assembly/war.xml b/libresonic-assembly/src/main/assembly/war.xml
similarity index 84%
rename from subsonic-assembly/src/main/assembly/war.xml
rename to libresonic-assembly/src/main/assembly/war.xml
index aa10ac4c..9f0d478c 100644
--- a/subsonic-assembly/src/main/assembly/war.xml
+++ b/libresonic-assembly/src/main/assembly/war.xml
@@ -8,7 +8,7 @@
false
- ../subsonic-main
+ ../libresonic-mainREADME.TXT
@@ -17,7 +17,7 @@
- ../subsonic-main/target
+ ../libresonic-main/target*.war
diff --git a/subsonic-booter/pom.xml b/libresonic-booter/pom.xml
similarity index 90%
rename from subsonic-booter/pom.xml
rename to libresonic-booter/pom.xml
index d8760a3c..f7d12845 100644
--- a/subsonic-booter/pom.xml
+++ b/libresonic-booter/pom.xml
@@ -2,14 +2,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-booter
- Subsonic Booter
+ libresonic-booter
+ Libresonic Booter
- net.sourceforge.subsonic
- subsonic
- 6.0.1
+ org.libresonic.player
+ libresonic
+ 6.1.rc1
@@ -68,7 +67,7 @@
- subsonic-booter
+ libresonic-booter
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/Main.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/Main.java
similarity index 87%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/Main.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/Main.java
index b7879e12..cce64830 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/Main.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/Main.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.booter;
+package org.libresonic.player.booter;
import java.util.Arrays;
import java.util.List;
@@ -7,11 +7,11 @@ import javax.swing.JOptionPane;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import net.sourceforge.subsonic.booter.agent.SettingsPanel;
-import net.sourceforge.subsonic.booter.agent.SubsonicAgent;
+import org.libresonic.player.booter.agent.SettingsPanel;
+import org.libresonic.player.booter.agent.LibresonicAgent;
/**
- * Application entry point for Subsonic booter.
+ * Application entry point for Libresonic booter.
*
* Use command line argument "-agent" to start the Windows service monitoring agent,
* or "-mac" to start the Mac version of the deployer.
@@ -25,7 +25,7 @@ public class Main {
if ("-agent".equals(contextName)) {
- SubsonicAgent agent = (SubsonicAgent) context.getBean("agent");
+ LibresonicAgent agent = (LibresonicAgent) context.getBean("agent");
SettingsPanel settingsPanel = (SettingsPanel) context.getBean("settingsPanel");
agent.setElevated(args.contains("-elevated"));
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicAgent.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicAgent.java
similarity index 83%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicAgent.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicAgent.java
index a9bb526e..9fda03b4 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicAgent.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicAgent.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.booter.agent;
+package org.libresonic.player.booter.agent;
import java.awt.Desktop;
import java.net.URI;
@@ -16,35 +16,35 @@ import org.apache.commons.io.IOUtils;
import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
+import org.libresonic.player.booter.deployer.DeploymentStatus;
+import org.libresonic.player.booter.deployer.LibresonicDeployerService;
/**
- * Responsible for deploying the Subsonic web app in
+ * Responsible for deploying the Libresonic web app in
* the embedded Jetty container.
*
* @author Sindre Mehus
*/
-public class SubsonicAgent {
+public class LibresonicAgent {
- private final List listeners = new ArrayList();
+ private final List listeners = new ArrayList();
private final TrayController trayController;
- private SubsonicFrame frame;
- private final SubsonicDeployerService service;
+ private LibresonicFrame frame;
+ private final LibresonicDeployerService service;
private static final int POLL_INTERVAL_DEPLOYMENT_INFO_SECONDS = 5;
private static final int POLL_INTERVAL_SERVICE_STATUS_SECONDS = 5;
private String url;
private boolean serviceStatusPollingEnabled;
private boolean elevated;
- public SubsonicAgent(SubsonicDeployerService service) {
+ public LibresonicAgent(LibresonicDeployerService service) {
this.service = service;
setLookAndFeel();
trayController = new TrayController(this);
startPolling();
}
- public void setFrame(SubsonicFrame frame) {
+ public void setFrame(LibresonicFrame frame) {
this.frame = frame;
}
@@ -85,7 +85,7 @@ public class SubsonicAgent {
}
private String getServiceStatus() throws Exception {
- Process process = Runtime.getRuntime().exec("subsonic-service.exe -status");
+ Process process = Runtime.getRuntime().exec("libresonic-service.exe -status");
return IOUtils.toString(process.getInputStream());
}
@@ -95,7 +95,7 @@ public class SubsonicAgent {
public void startOrStopService(boolean start) {
try {
- String cmd = "subsonic-service.exe " + (start ? "-start" : "-stop");
+ String cmd = "libresonic-service.exe " + (start ? "-start" : "-stop");
System.err.println("Executing: " + cmd);
Runtime.getRuntime().exec(cmd);
@@ -114,7 +114,7 @@ public class SubsonicAgent {
List command = new ArrayList();
command.add("cmd");
command.add("/c");
- command.add("subsonic-agent-elevated.exe");
+ command.add("libresonic-agent-elevated.exe");
command.addAll(Arrays.asList(args));
ProcessBuilder builder = new ProcessBuilder();
@@ -123,7 +123,7 @@ public class SubsonicAgent {
builder.start();
System.exit(0);
} catch (Exception x) {
- JOptionPane.showMessageDialog(frame, "Failed to elevate Subsonic Control Panel. " + x, "Error", JOptionPane.WARNING_MESSAGE);
+ JOptionPane.showMessageDialog(frame, "Failed to elevate Libresonic Control Panel. " + x, "Error", JOptionPane.WARNING_MESSAGE);
x.printStackTrace();
}
}
@@ -154,7 +154,7 @@ public class SubsonicAgent {
}
}
- public void addListener(SubsonicListener listener) {
+ public void addListener(LibresonicListener listener) {
listeners.add(listener);
}
@@ -163,13 +163,13 @@ public class SubsonicAgent {
url = status.getURL();
}
- for (SubsonicListener listener : listeners) {
+ for (LibresonicListener listener : listeners) {
listener.notifyDeploymentStatus(status);
}
}
private void notifyServiceStatus(String status) {
- for (SubsonicListener listener : listeners) {
+ for (LibresonicListener listener : listeners) {
listener.notifyServiceStatus(status);
}
}
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicFrame.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicFrame.java
similarity index 83%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicFrame.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicFrame.java
index 32ee5230..b11832d4 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicFrame.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicFrame.java
@@ -1,8 +1,8 @@
-package net.sourceforge.subsonic.booter.agent;
+package org.libresonic.player.booter.agent;
import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.factories.ButtonBarFactory;
-import net.sourceforge.subsonic.booter.Main;
+import org.libresonic.player.booter.Main;
import javax.swing.*;
import java.awt.*;
@@ -17,18 +17,18 @@ import java.util.Arrays;
*
* @author Sindre Mehus
*/
-public class SubsonicFrame extends JFrame {
+public class LibresonicFrame extends JFrame {
- private final SubsonicAgent subsonicAgent;
+ private final LibresonicAgent libresonicAgent;
private final StatusPanel statusPanel;
private final SettingsPanel settingsPanel;
private JTabbedPane tabbedPane;
private JButton closeButton;
- public SubsonicFrame(SubsonicAgent subsonicAgent, StatusPanel statusPanel, SettingsPanel settingsPanel) {
- super("Subsonic Control Panel");
- this.subsonicAgent = subsonicAgent;
+ public LibresonicFrame(LibresonicAgent libresonicAgent, StatusPanel statusPanel, SettingsPanel settingsPanel) {
+ super("Libresonic Control Panel");
+ this.libresonicAgent = libresonicAgent;
this.statusPanel = statusPanel;
this.settingsPanel = settingsPanel;
createComponents();
@@ -43,18 +43,18 @@ public class SubsonicFrame extends JFrame {
private void setupIcons() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
- // Window.setIconImages() was added in Java 1.6. Since Subsonic only requires 1.5, we
+ // Window.setIconImages() was added in Java 1.6. Since Libresonic only requires 1.5, we
// use reflection to invoke it.
try {
Method method = Window.class.getMethod("setIconImages", java.util.List.class);
java.util.List images = Arrays.asList(
- toolkit.createImage(Main.class.getResource("/images/subsonic-16.png")),
- toolkit.createImage(Main.class.getResource("/images/subsonic-32.png")),
- toolkit.createImage(Main.class.getResource("/images/subsonic-512.png")));
+ toolkit.createImage(Main.class.getResource("/images/libresonic-16.png")),
+ toolkit.createImage(Main.class.getResource("/images/libresonic-32.png")),
+ toolkit.createImage(Main.class.getResource("/images/libresonic-512.png")));
method.invoke(this, images);
} catch (Throwable x) {
// Fallback to old method.
- setIconImage(toolkit.createImage(Main.class.getResource("/images/subsonic-32.png")));
+ setIconImage(toolkit.createImage(Main.class.getResource("/images/libresonic-32.png")));
}
}
@@ -92,7 +92,7 @@ public class SubsonicFrame extends JFrame {
@Override
public void setVisible(boolean b) {
super.setVisible(b);
- subsonicAgent.setServiceStatusPollingEnabled(b);
+ libresonicAgent.setServiceStatusPollingEnabled(b);
}
public void showStatusPanel() {
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicListener.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicListener.java
similarity index 62%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicListener.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicListener.java
index d6239c0d..a985a8df 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SubsonicListener.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/LibresonicListener.java
@@ -1,17 +1,17 @@
-package net.sourceforge.subsonic.booter.agent;
+package org.libresonic.player.booter.agent;
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
+import org.libresonic.player.booter.deployer.DeploymentStatus;
/**
* Callback interface implemented by GUI classes that wants to be notified when
- * the state of the Subsonic deployment changes.
+ * the state of the Libresonic deployment changes.
*
* @author Sindre Mehus
*/
-public interface SubsonicListener {
+public interface LibresonicListener {
/**
- * Invoked when new information about the Subsonic deployment is available.
+ * Invoked when new information about the Libresonic deployment is available.
*
* @param deploymentStatus The new deployment status, or null if an
* error occurred while retrieving the status.
@@ -19,7 +19,7 @@ public interface SubsonicListener {
void notifyDeploymentStatus(DeploymentStatus deploymentStatus);
/**
- * Invoked when new information about the Subsonic Windows service is available.
+ * Invoked when new information about the Libresonic Windows service is available.
*
* @param serviceStatus The new service status, or null if an
* error occurred while retrieving the status.
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SettingsPanel.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/SettingsPanel.java
similarity index 83%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SettingsPanel.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/agent/SettingsPanel.java
index c225410f..6b13aeef 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/SettingsPanel.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/SettingsPanel.java
@@ -1,11 +1,11 @@
-package net.sourceforge.subsonic.booter.agent;
+package org.libresonic.player.booter.agent;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.factories.ButtonBarFactory;
import com.jgoodies.forms.layout.FormLayout;
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployer;
+import org.libresonic.player.booter.deployer.DeploymentStatus;
+import org.libresonic.player.booter.deployer.LibresonicDeployer;
import javax.swing.*;
import java.awt.*;
@@ -29,15 +29,15 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
- * Panel displaying the settings of the Subsonic service.
+ * Panel displaying the settings of the Libresonic service.
*
* @author Sindre Mehus
*/
-public class SettingsPanel extends JPanel implements SubsonicListener {
+public class SettingsPanel extends JPanel implements LibresonicListener {
private static final Format INTEGER_FORMAT = new DecimalFormat("0", DecimalFormatSymbols.getInstance(Locale.UK));
- private final SubsonicAgent subsonicAgent;
+ private final LibresonicAgent libresonicAgent;
private JFormattedTextField portTextField;
private JCheckBox httpsPortCheckBox;
private JFormattedTextField httpsPortTextField;
@@ -45,14 +45,14 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
private JFormattedTextField memoryTextField;
private JButton defaultButton;
private JButton saveButton;
- public SettingsPanel(SubsonicAgent subsonicAgent) {
- this.subsonicAgent = subsonicAgent;
+ public SettingsPanel(LibresonicAgent libresonicAgent) {
+ this.libresonicAgent = libresonicAgent;
createComponents();
configureComponents();
layoutComponents();
addBehaviour();
readValues();
- subsonicAgent.addListener(this);
+ libresonicAgent.addListener(this);
}
public void readValues() {
@@ -68,21 +68,21 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
private int getHttpsPortFromOptionsFile() {
try {
- String s = grep("-Dsubsonic.httpsPort=(\\d+)");
+ String s = grep("-Dlibresonic.httpsPort=(\\d+)");
return Integer.parseInt(s);
} catch (Exception x) {
x.printStackTrace();
- return SubsonicDeployer.DEFAULT_HTTPS_PORT;
+ return LibresonicDeployer.DEFAULT_HTTPS_PORT;
}
}
private int getPortFromOptionsFile() {
try {
- String s = grep("-Dsubsonic.port=(\\d+)");
+ String s = grep("-Dlibresonic.port=(\\d+)");
return Integer.parseInt(s);
} catch (Exception x) {
x.printStackTrace();
- return SubsonicDeployer.DEFAULT_PORT;
+ return LibresonicDeployer.DEFAULT_PORT;
}
}
@@ -92,20 +92,20 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
return Integer.parseInt(s);
} catch (Exception x) {
x.printStackTrace();
- return SubsonicDeployer.DEFAULT_MEMORY_LIMIT;
+ return LibresonicDeployer.DEFAULT_MEMORY_LIMIT;
}
}
private String getContextPathFromOptionsFile() {
try {
- String s = grep("-Dsubsonic.contextPath=(.*)");
+ String s = grep("-Dlibresonic.contextPath=(.*)");
if (s == null) {
throw new NullPointerException();
}
return s;
} catch (Exception x) {
x.printStackTrace();
- return SubsonicDeployer.DEFAULT_CONTEXT_PATH;
+ return LibresonicDeployer.DEFAULT_CONTEXT_PATH;
}
}
@@ -122,7 +122,7 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
private void configureComponents() {
contextPathComboBox.setEditable(true);
contextPathComboBox.addItem("/");
- contextPathComboBox.addItem("/subsonic");
+ contextPathComboBox.addItem("/libresonic");
contextPathComboBox.addItem("/music");
}
@@ -145,7 +145,7 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
- subsonicAgent.checkElevation("-settings", getMemoryLimit() + "," + getPort() + "," + getHttpsPort() + "," + getContextPath());
+ libresonicAgent.checkElevation("-settings", getMemoryLimit() + "," + getPort() + "," + getHttpsPort() + "," + getContextPath());
saveSettings(getMemoryLimit(), getPort(), getHttpsPort(), getContextPath());
} catch (Exception x) {
JOptionPane.showMessageDialog(SettingsPanel.this, x.getMessage(), "Error", JOptionPane.WARNING_MESSAGE);
@@ -155,12 +155,12 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
defaultButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- portTextField.setValue(SubsonicDeployer.DEFAULT_PORT);
+ portTextField.setValue(LibresonicDeployer.DEFAULT_PORT);
httpsPortTextField.setValue(4443);
httpsPortTextField.setEnabled(false);
httpsPortCheckBox.setSelected(false);
- memoryTextField.setValue(SubsonicDeployer.DEFAULT_MEMORY_LIMIT);
- contextPathComboBox.setSelectedItem(SubsonicDeployer.DEFAULT_CONTEXT_PATH);
+ memoryTextField.setValue(LibresonicDeployer.DEFAULT_MEMORY_LIMIT);
+ contextPathComboBox.setSelectedItem(LibresonicDeployer.DEFAULT_CONTEXT_PATH);
}
});
@@ -237,14 +237,14 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
if (line.startsWith("-Xmx")) {
newLines.add("-Xmx" + memoryLimit + "m");
memoryLimitAdded = true;
- } else if (line.startsWith("-Dsubsonic.port=")) {
- newLines.add("-Dsubsonic.port=" + port);
+ } else if (line.startsWith("-Dlibresonic.port=")) {
+ newLines.add("-Dlibresonic.port=" + port);
portAdded = true;
- } else if (line.startsWith("-Dsubsonic.httpsPort=")) {
- newLines.add("-Dsubsonic.httpsPort=" + httpsPort);
+ } else if (line.startsWith("-Dlibresonic.httpsPort=")) {
+ newLines.add("-Dlibresonic.httpsPort=" + httpsPort);
httpsPortAdded = true;
- } else if (line.startsWith("-Dsubsonic.contextPath=")) {
- newLines.add("-Dsubsonic.contextPath=" + contextPath);
+ } else if (line.startsWith("-Dlibresonic.contextPath=")) {
+ newLines.add("-Dlibresonic.contextPath=" + contextPath);
contextPathAdded = true;
} else {
newLines.add(line);
@@ -255,25 +255,25 @@ public class SettingsPanel extends JPanel implements SubsonicListener {
newLines.add("-Xmx" + memoryLimit + "m");
}
if (!portAdded) {
- newLines.add("-Dsubsonic.port=" + port);
+ newLines.add("-Dlibresonic.port=" + port);
}
if (!httpsPortAdded) {
- newLines.add("-Dsubsonic.httpsPort=" + httpsPort);
+ newLines.add("-Dlibresonic.httpsPort=" + httpsPort);
}
if (!contextPathAdded) {
- newLines.add("-Dsubsonic.contextPath=" + contextPath);
+ newLines.add("-Dlibresonic.contextPath=" + contextPath);
}
writeLines(file, newLines);
JOptionPane.showMessageDialog(SettingsPanel.this,
- "Please restart Subsonic for the new settings to take effect.",
+ "Please restart Libresonic for the new settings to take effect.",
"Settings changed", JOptionPane.INFORMATION_MESSAGE);
}
private File getOptionsFile() throws SettingsException {
- File file = new File("subsonic-service.exe.vmoptions");
+ File file = new File("libresonic-service.exe.vmoptions");
if (!file.isFile() || !file.exists()) {
throw new SettingsException("File " + file.getAbsolutePath() + " not found.");
}
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/StatusPanel.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/StatusPanel.java
similarity index 83%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/StatusPanel.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/agent/StatusPanel.java
index 91625f19..f46769ee 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/StatusPanel.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/StatusPanel.java
@@ -1,10 +1,10 @@
-package net.sourceforge.subsonic.booter.agent;
+package org.libresonic.player.booter.agent;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.factories.ButtonBarFactory;
import com.jgoodies.forms.layout.FormLayout;
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
+import org.libresonic.player.booter.deployer.DeploymentStatus;
import javax.swing.*;
import java.awt.*;
@@ -14,15 +14,15 @@ import java.text.DateFormat;
import java.util.Locale;
/**
- * Panel displaying the status of the Subsonic service.
+ * Panel displaying the status of the Libresonic service.
*
* @author Sindre Mehus
*/
-public class StatusPanel extends JPanel implements SubsonicListener {
+public class StatusPanel extends JPanel implements LibresonicListener {
private static final DateFormat DATE_FORMAT = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US);
- private final SubsonicAgent subsonicAgent;
+ private final LibresonicAgent libresonicAgent;
private JTextField statusTextField;
private JTextField startedTextField;
@@ -32,13 +32,13 @@ public class StatusPanel extends JPanel implements SubsonicListener {
private JButton stopButton;
private JButton urlButton;
- public StatusPanel(SubsonicAgent subsonicAgent) {
- this.subsonicAgent = subsonicAgent;
+ public StatusPanel(LibresonicAgent libresonicAgent) {
+ this.libresonicAgent = libresonicAgent;
createComponents();
configureComponents();
layoutComponents();
addBehaviour();
- subsonicAgent.addListener(this);
+ libresonicAgent.addListener(this);
}
private void createComponents() {
@@ -86,19 +86,19 @@ public class StatusPanel extends JPanel implements SubsonicListener {
private void addBehaviour() {
urlButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- subsonicAgent.openBrowser();
+ libresonicAgent.openBrowser();
}
});
startButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- subsonicAgent.checkElevation("-start");
- subsonicAgent.startOrStopService(true);
+ libresonicAgent.checkElevation("-start");
+ libresonicAgent.startOrStopService(true);
}
});
stopButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- subsonicAgent.checkElevation("-stop");
- subsonicAgent.startOrStopService(false);
+ libresonicAgent.checkElevation("-stop");
+ libresonicAgent.startOrStopService(false);
}
});
}
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/TrayController.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/TrayController.java
similarity index 72%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/TrayController.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/agent/TrayController.java
index 2be918e8..2306f8f4 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/agent/TrayController.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/agent/TrayController.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.booter.agent;
+package org.libresonic.player.booter.agent;
import java.awt.Image;
import java.awt.MenuItem;
@@ -12,16 +12,16 @@ import java.net.URL;
import javax.swing.AbstractAction;
import javax.swing.Action;
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
+import org.libresonic.player.booter.deployer.DeploymentStatus;
/**
- * Controls the Subsonic tray icon.
+ * Controls the Libresonic tray icon.
*
* @author Sindre Mehus
*/
-public class TrayController implements SubsonicListener {
+public class TrayController implements LibresonicListener {
- private final SubsonicAgent subsonicAgent;
+ private final LibresonicAgent libresonicAgent;
private TrayIcon trayIcon;
private Action openAction;
@@ -30,48 +30,48 @@ public class TrayController implements SubsonicListener {
private Image startedImage;
private Image stoppedImage;
- public TrayController(SubsonicAgent subsonicAgent) {
- this.subsonicAgent = subsonicAgent;
+ public TrayController(LibresonicAgent libresonicAgent) {
+ this.libresonicAgent = libresonicAgent;
try {
createActions();
createComponents();
addBehaviour();
installComponents();
- subsonicAgent.addListener(this);
+ libresonicAgent.addListener(this);
} catch (Throwable x) {
System.err.println("Disabling tray support.");
}
}
public void showMessage() {
- trayIcon.displayMessage("Subsonic", "Subsonic is now running. Click this balloon to get started.",
+ trayIcon.displayMessage("Libresonic", "Libresonic is now running. Click this balloon to get started.",
TrayIcon.MessageType.INFO);
}
private void createActions() {
- openAction = new AbstractAction("Open Subsonic in Browser") {
+ openAction = new AbstractAction("Open Libresonic in Browser") {
public void actionPerformed(ActionEvent e) {
- subsonicAgent.openBrowser();
+ libresonicAgent.openBrowser();
}
};
- controlPanelAction = new AbstractAction("Subsonic Control Panel") {
+ controlPanelAction = new AbstractAction("Libresonic Control Panel") {
public void actionPerformed(ActionEvent e) {
- subsonicAgent.showStatusPanel();
+ libresonicAgent.showStatusPanel();
}
};
hideAction = new AbstractAction("Hide Tray Icon") {
public void actionPerformed(ActionEvent e) {
- subsonicAgent.exit();
+ libresonicAgent.exit();
}
};
}
private void createComponents() {
- startedImage = createImage("/images/subsonic-started-16.png");
- stoppedImage = createImage("/images/subsonic-stopped-16.png");
+ startedImage = createImage("/images/libresonic-started-16.png");
+ stoppedImage = createImage("/images/libresonic-stopped-16.png");
PopupMenu menu = new PopupMenu();
menu.add(createMenuItem(openAction));
@@ -79,7 +79,7 @@ public class TrayController implements SubsonicListener {
menu.addSeparator();
menu.add(createMenuItem(hideAction));
- trayIcon = new TrayIcon(stoppedImage, "Subsonic Music Streamer", menu);
+ trayIcon = new TrayIcon(stoppedImage, "Libresonic Music Streamer", menu);
}
private Image createImage(String resourceName) {
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/deployer/DeploymentStatus.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/DeploymentStatus.java
similarity index 94%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/deployer/DeploymentStatus.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/DeploymentStatus.java
index 3b237dc1..40bd9fbd 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/deployer/DeploymentStatus.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/DeploymentStatus.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.booter.deployer;
+package org.libresonic.player.booter.deployer;
import java.util.Date;
import java.io.Serializable;
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/deployer/SubsonicDeployer.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/LibresonicDeployer.java
similarity index 76%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/deployer/SubsonicDeployer.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/LibresonicDeployer.java
index 779d5073..829116de 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/deployer/SubsonicDeployer.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/LibresonicDeployer.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.booter.deployer;
+package org.libresonic.player.booter.deployer;
import java.io.File;
import java.io.FileInputStream;
@@ -20,42 +20,42 @@ import org.mortbay.jetty.security.SslSocketConnector;
import org.mortbay.jetty.webapp.WebAppContext;
/**
- * Responsible for deploying the Subsonic web app in
+ * Responsible for deploying the Libresonic web app in
* the embedded Jetty container.
*
* The following system properties may be used to customize the behaviour:
*
- *
subsonic.contextPath - The context path at which Subsonic is deployed. Default "/".
- *
subsonic.port - The port Subsonic will listen to. Default 4040.
- *
subsonic.httpsPort - The port Subsonic will listen to for HTTPS. Default 0, which disables HTTPS.
- *
subsonic.war - Subsonic WAR file, or exploded directory. Default "subsonic.war".
- *
subsonic.createLinkFile - If set to "true", a Subsonic.url file is created in the working directory.
- *
subsonic.ssl.keystore - Path to an alternate SSL keystore.
- *
subsonic.ssl.password - Password of the alternate SSL keystore.
+ *
libresonic.contextPath - The context path at which Libresonic is deployed. Default "/".
+ *
libresonic.port - The port Libresonic will listen to. Default 4040.
+ *
libresonic.httpsPort - The port Libresonic will listen to for HTTPS. Default 0, which disables HTTPS.
+ *
libresonic.war - Libresonic WAR file, or exploded directory. Default "libresonic.war".
+ *
libresonic.createLinkFile - If set to "true", a Libresonic.url file is created in the working directory.
+ *
libresonic.ssl.keystore - Path to an alternate SSL keystore.
+ *
libresonic.ssl.password - Password of the alternate SSL keystore.
*
*
* @author Sindre Mehus
*/
-public class SubsonicDeployer implements SubsonicDeployerService {
+public class LibresonicDeployer implements LibresonicDeployerService {
public static final String DEFAULT_HOST = "0.0.0.0";
public static final int DEFAULT_PORT = 4040;
public static final int DEFAULT_HTTPS_PORT = 0;
public static final int DEFAULT_MEMORY_LIMIT = 150;
public static final String DEFAULT_CONTEXT_PATH = "/";
- public static final String DEFAULT_WAR = "subsonic.war";
+ public static final String DEFAULT_WAR = "libresonic.war";
private static final int MAX_IDLE_TIME_MILLIS = 7 * 24 * 60 * 60 * 1000; // One week.
private static final int HEADER_BUFFER_SIZE = 64 * 1024;
- // Subsonic home directory.
- private static final File SUBSONIC_HOME_WINDOWS = new File("c:/subsonic");
- private static final File SUBSONIC_HOME_OTHER = new File("/var/subsonic");
+ // Libresonic home directory.
+ private static final File LIBRESONIC_HOME_WINDOWS = new File("c:/libresonic");
+ private static final File LIBRESONIC_HOME_OTHER = new File("/var/libresonic");
private Throwable exception;
- private File subsonicHome;
+ private File libresonicHome;
private final Date startTime;
- public SubsonicDeployer() {
+ public LibresonicDeployer() {
// Enable shutdown hook for Ehcache.
System.setProperty("net.sf.ehcache.enableShutdownHook", "true");
@@ -66,16 +66,16 @@ public class SubsonicDeployer implements SubsonicDeployerService {
}
private void createLinkFile() {
- if ("true".equals(System.getProperty("subsonic.createLinkFile"))) {
+ if ("true".equals(System.getProperty("libresonic.createLinkFile"))) {
Writer writer = null;
try {
- writer = new FileWriter("subsonic.url");
+ writer = new FileWriter("libresonic.url");
writer.append("[InternetShortcut]");
writer.append(System.getProperty("line.separator"));
writer.append("URL=").append(getUrl());
writer.flush();
} catch (Throwable x) {
- System.err.println("Failed to create subsonic.url.");
+ System.err.println("Failed to create libresonic.url.");
x.printStackTrace();
} finally {
if (writer != null) {
@@ -108,8 +108,8 @@ public class SubsonicDeployer implements SubsonicDeployerService {
sslConnector.setHeaderBufferSize(HEADER_BUFFER_SIZE);
sslConnector.setHost(getHost());
sslConnector.setPort(getHttpsPort());
- sslConnector.setKeystore(System.getProperty("subsonic.ssl.keystore", getClass().getResource("/subsonic.keystore").toExternalForm()));
- sslConnector.setPassword(System.getProperty("subsonic.ssl.password", "subsonic"));
+ sslConnector.setKeystore(System.getProperty("libresonic.ssl.keystore", getClass().getResource("/libresonic.keystore").toExternalForm()));
+ sslConnector.setPassword(System.getProperty("libresonic.ssl.password", "libresonic"));
server.addConnector(sslConnector);
}
@@ -134,7 +134,7 @@ public class SubsonicDeployer implements SubsonicDeployerService {
server.addHandler(context);
server.start();
- System.err.println("Subsonic running on: " + getUrl());
+ System.err.println("Libresonic running on: " + getUrl());
if (isHttpsEnabled()) {
System.err.println(" and: " + getHttpsUrl());
}
@@ -155,8 +155,8 @@ public class SubsonicDeployer implements SubsonicDeployerService {
}
private File getJettyDirectory() {
- File dir = new File(getSubsonicHome(), "jetty");
- String buildNumber = getSubsonicBuildNumber();
+ File dir = new File(getLibresonicHome(), "jetty");
+ String buildNumber = getLibresonicBuildNumber();
if (buildNumber != null) {
dir = new File(dir, buildNumber);
}
@@ -169,7 +169,7 @@ public class SubsonicDeployer implements SubsonicDeployerService {
return dir;
}
- private String getSubsonicBuildNumber() {
+ private String getLibresonicBuildNumber() {
File war = new File(getWar());
InputStream in = null;
try {
@@ -194,12 +194,12 @@ public class SubsonicDeployer implements SubsonicDeployerService {
}
private String getContextPath() {
- return System.getProperty("subsonic.contextPath", DEFAULT_CONTEXT_PATH);
+ return System.getProperty("libresonic.contextPath", DEFAULT_CONTEXT_PATH);
}
private String getWar() {
- String war = System.getProperty("subsonic.war");
+ String war = System.getProperty("libresonic.war");
if (war == null) {
war = DEFAULT_WAR;
}
@@ -215,19 +215,19 @@ public class SubsonicDeployer implements SubsonicDeployerService {
}
private String getHost() {
- return System.getProperty("subsonic.host", DEFAULT_HOST);
+ return System.getProperty("libresonic.host", DEFAULT_HOST);
}
private int getPort() {
int port = DEFAULT_PORT;
- String portString = System.getProperty("subsonic.port");
+ String portString = System.getProperty("libresonic.port");
if (portString != null) {
port = Integer.parseInt(portString);
}
// Also set it so that the webapp can read it.
- System.setProperty("subsonic.port", String.valueOf(port));
+ System.setProperty("libresonic.port", String.valueOf(port));
return port;
}
@@ -235,13 +235,13 @@ public class SubsonicDeployer implements SubsonicDeployerService {
private int getHttpsPort() {
int port = DEFAULT_HTTPS_PORT;
- String portString = System.getProperty("subsonic.httpsPort");
+ String portString = System.getProperty("libresonic.httpsPort");
if (portString != null) {
port = Integer.parseInt(portString);
}
// Also set it so that the webapp can read it.
- System.setProperty("subsonic.httpsPort", String.valueOf(port));
+ System.setProperty("libresonic.httpsPort", String.valueOf(port));
return port;
}
@@ -293,40 +293,40 @@ public class SubsonicDeployer implements SubsonicDeployerService {
}
/**
- * Returns the Subsonic home directory.
+ * Returns the Libresonic home directory.
*
- * @return The Subsonic home directory, if it exists.
+ * @return The Libresonic home directory, if it exists.
* @throws RuntimeException If directory doesn't exist.
*/
- private File getSubsonicHome() {
+ private File getLibresonicHome() {
- if (subsonicHome != null) {
- return subsonicHome;
+ if (libresonicHome != null) {
+ return libresonicHome;
}
File home;
- String overrideHome = System.getProperty("subsonic.home");
+ String overrideHome = System.getProperty("libresonic.home");
if (overrideHome != null) {
home = new File(overrideHome);
} else {
boolean isWindows = System.getProperty("os.name", "Windows").toLowerCase().startsWith("windows");
- home = isWindows ? SUBSONIC_HOME_WINDOWS : SUBSONIC_HOME_OTHER;
+ home = isWindows ? LIBRESONIC_HOME_WINDOWS : LIBRESONIC_HOME_OTHER;
}
// Attempt to create home directory if it doesn't exist.
if (!home.exists() || !home.isDirectory()) {
boolean success = home.mkdirs();
if (success) {
- subsonicHome = home;
+ libresonicHome = home;
} else {
String message = "The directory " + home + " does not exist. Please create it and make it writable. " +
- "(You can override the directory location by specifying -Dsubsonic.home=... when " +
+ "(You can override the directory location by specifying -Dlibresonic.home=... when " +
"starting the servlet container.)";
System.err.println("ERROR: " + message);
}
} else {
- subsonicHome = home;
+ libresonicHome = home;
}
return home;
diff --git a/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/LibresonicDeployerService.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/LibresonicDeployerService.java
new file mode 100644
index 00000000..b480e783
--- /dev/null
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/deployer/LibresonicDeployerService.java
@@ -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();
+}
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/mac/LibresonicController.java
similarity index 73%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/mac/LibresonicController.java
index 65731f31..0d97bf1d 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicController.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/mac/LibresonicController.java
@@ -1,6 +1,6 @@
-package net.sourceforge.subsonic.booter.mac;
+package org.libresonic.player.booter.mac;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
+import org.libresonic.player.booter.deployer.LibresonicDeployerService;
import javax.swing.*;
import java.awt.*;
@@ -13,15 +13,15 @@ import java.net.URI;
*
* @author Sindre Mehus
*/
-public class SubsonicController {
+public class LibresonicController {
- private final SubsonicDeployerService deployer;
- private final SubsonicFrame frame;
+ private final LibresonicDeployerService deployer;
+ private final LibresonicFrame frame;
private Action openAction;
private Action controlPanelAction;
private Action quitAction;
- public SubsonicController(SubsonicDeployerService deployer, SubsonicFrame frame) {
+ public LibresonicController(LibresonicDeployerService deployer, LibresonicFrame frame) {
this.deployer = deployer;
this.frame = frame;
createActions();
@@ -29,20 +29,20 @@ public class SubsonicController {
}
private void createActions() {
- openAction = new AbstractAction("Open Subsonic Web Page") {
+ openAction = new AbstractAction("Open Libresonic Web Page") {
public void actionPerformed(ActionEvent e) {
openBrowser();
}
};
- controlPanelAction = new AbstractAction("Subsonic Control Panel") {
+ controlPanelAction = new AbstractAction("Libresonic Control Panel") {
public void actionPerformed(ActionEvent e) {
frame.setActive(false);
frame.setActive(true);
}
};
- quitAction = new AbstractAction("Quit Subsonic") {
+ quitAction = new AbstractAction("Quit Libresonic") {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
@@ -56,9 +56,9 @@ public class SubsonicController {
menu.addSeparator();
menu.add(createMenuItem(quitAction));
- URL url = getClass().getResource("/images/subsonic-21.png");
+ URL url = getClass().getResource("/images/libresonic-21.png");
Image image = Toolkit.getDefaultToolkit().createImage(url);
- TrayIcon trayIcon = new TrayIcon(image, "Subsonic Music Streamer", menu);
+ TrayIcon trayIcon = new TrayIcon(image, "Libresonic Music Streamer", menu);
trayIcon.setImageAutoSize(false);
try {
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/mac/LibresonicFrame.java
similarity index 80%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/mac/LibresonicFrame.java
index 2a492e45..e0f34cec 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/SubsonicFrame.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/mac/LibresonicFrame.java
@@ -1,9 +1,9 @@
-package net.sourceforge.subsonic.booter.mac;
+package org.libresonic.player.booter.mac;
import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.factories.ButtonBarFactory;
-import net.sourceforge.subsonic.booter.Main;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
+import org.libresonic.player.booter.Main;
+import org.libresonic.player.booter.deployer.LibresonicDeployerService;
import javax.swing.*;
import java.awt.*;
@@ -12,25 +12,25 @@ import java.awt.event.ActionListener;
import java.net.URL;
/**
- * Frame with Subsonic status. Used on Mac installs.
+ * Frame with Libresonic status. Used on Mac installs.
*
* @author Sindre Mehus
*/
-public class SubsonicFrame extends JFrame {
+public class LibresonicFrame extends JFrame {
- private final SubsonicDeployerService deployer;
+ private final LibresonicDeployerService deployer;
private StatusPanel statusPanel;
private JButton hideButton;
private JButton exitButton;
- public SubsonicFrame(SubsonicDeployerService deployer) {
- super("Subsonic");
+ public LibresonicFrame(LibresonicDeployerService deployer) {
+ super("Libresonic");
this.deployer = deployer;
createComponents();
layoutComponents();
addBehaviour();
- URL url = Main.class.getResource("/images/subsonic-512.png");
+ URL url = Main.class.getResource("/images/libresonic-512.png");
setIconImage(Toolkit.getDefaultToolkit().createImage(url));
}
diff --git a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java b/libresonic-booter/src/main/java/org/libresonic/player/booter/mac/StatusPanel.java
similarity index 90%
rename from subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java
rename to libresonic-booter/src/main/java/org/libresonic/player/booter/mac/StatusPanel.java
index f20671f8..d64965bd 100644
--- a/subsonic-booter/src/main/java/net/sourceforge/subsonic/booter/mac/StatusPanel.java
+++ b/libresonic-booter/src/main/java/org/libresonic/player/booter/mac/StatusPanel.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.booter.mac;
+package org.libresonic.player.booter.mac;
import java.awt.Color;
import java.awt.Desktop;
@@ -19,11 +19,11 @@ import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.factories.Borders;
import com.jgoodies.forms.layout.FormLayout;
-import net.sourceforge.subsonic.booter.deployer.DeploymentStatus;
-import net.sourceforge.subsonic.booter.deployer.SubsonicDeployerService;
+import org.libresonic.player.booter.deployer.DeploymentStatus;
+import org.libresonic.player.booter.deployer.LibresonicDeployerService;
/**
- * Panel displaying the status of the Subsonic service.
+ * Panel displaying the status of the Libresonic service.
*
* @author Sindre Mehus
*/
@@ -31,14 +31,14 @@ public class StatusPanel extends JPanel {
private static final DateFormat DATE_FORMAT = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.US);
- private final SubsonicDeployerService deployer;
+ private final LibresonicDeployerService deployer;
private JTextField startedTextField;
private JTextField memoryTextField;
private JTextArea errorTextField;
private JButton urlButton;
- public StatusPanel(SubsonicDeployerService deployer) {
+ public StatusPanel(LibresonicDeployerService deployer) {
this.deployer = deployer;
createComponents();
configureComponents();
diff --git a/libresonic-booter/src/main/resources/META-INF/MANIFEST.MF b/libresonic-booter/src/main/resources/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..76e121cd
--- /dev/null
+++ b/libresonic-booter/src/main/resources/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+Main-Class: org.libresonic.player.booter.Main
diff --git a/subsonic-booter/src/main/resources/applicationContext-agent.xml b/libresonic-booter/src/main/resources/applicationContext-agent.xml
similarity index 65%
rename from subsonic-booter/src/main/resources/applicationContext-agent.xml
rename to libresonic-booter/src/main/resources/applicationContext-agent.xml
index a08e1111..2b2e4856 100644
--- a/subsonic-booter/src/main/resources/applicationContext-agent.xml
+++ b/libresonic-booter/src/main/resources/applicationContext-agent.xml
@@ -5,28 +5,28 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
-
+
+
-
+
-
+
-
+
-
+
diff --git a/subsonic-booter/src/main/resources/applicationContext-deployer.xml b/libresonic-booter/src/main/resources/applicationContext-deployer.xml
similarity index 63%
rename from subsonic-booter/src/main/resources/applicationContext-deployer.xml
rename to libresonic-booter/src/main/resources/applicationContext-deployer.xml
index 26dca501..07932bb8 100644
--- a/subsonic-booter/src/main/resources/applicationContext-deployer.xml
+++ b/libresonic-booter/src/main/resources/applicationContext-deployer.xml
@@ -4,12 +4,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
+
-
+
-
+
\ No newline at end of file
diff --git a/subsonic-booter/src/main/resources/applicationContext-mac.xml b/libresonic-booter/src/main/resources/applicationContext-mac.xml
similarity index 62%
rename from subsonic-booter/src/main/resources/applicationContext-mac.xml
rename to libresonic-booter/src/main/resources/applicationContext-mac.xml
index 1ca20178..629d9632 100644
--- a/subsonic-booter/src/main/resources/applicationContext-mac.xml
+++ b/libresonic-booter/src/main/resources/applicationContext-mac.xml
@@ -4,13 +4,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
+
-
+
-
+
diff --git a/subsonic-booter/src/main/resources/images/subsonic-16.png b/libresonic-booter/src/main/resources/images/libresonic-16.png
similarity index 100%
rename from subsonic-booter/src/main/resources/images/subsonic-16.png
rename to libresonic-booter/src/main/resources/images/libresonic-16.png
diff --git a/subsonic-booter/src/main/resources/images/subsonic-21.png b/libresonic-booter/src/main/resources/images/libresonic-21.png
similarity index 100%
rename from subsonic-booter/src/main/resources/images/subsonic-21.png
rename to libresonic-booter/src/main/resources/images/libresonic-21.png
diff --git a/subsonic-booter/src/main/resources/images/subsonic-32.png b/libresonic-booter/src/main/resources/images/libresonic-32.png
similarity index 100%
rename from subsonic-booter/src/main/resources/images/subsonic-32.png
rename to libresonic-booter/src/main/resources/images/libresonic-32.png
diff --git a/subsonic-booter/src/main/resources/images/subsonic-512.png b/libresonic-booter/src/main/resources/images/libresonic-512.png
similarity index 100%
rename from subsonic-booter/src/main/resources/images/subsonic-512.png
rename to libresonic-booter/src/main/resources/images/libresonic-512.png
diff --git a/subsonic-booter/src/main/resources/images/subsonic-started-16.png b/libresonic-booter/src/main/resources/images/libresonic-started-16.png
similarity index 100%
rename from subsonic-booter/src/main/resources/images/subsonic-started-16.png
rename to libresonic-booter/src/main/resources/images/libresonic-started-16.png
diff --git a/subsonic-booter/src/main/resources/images/subsonic-stopped-16.png b/libresonic-booter/src/main/resources/images/libresonic-stopped-16.png
similarity index 100%
rename from subsonic-booter/src/main/resources/images/subsonic-stopped-16.png
rename to libresonic-booter/src/main/resources/images/libresonic-stopped-16.png
diff --git a/subsonic-booter/src/main/resources/subsonic.keystore b/libresonic-booter/src/main/resources/libresonic.keystore
similarity index 82%
rename from subsonic-booter/src/main/resources/subsonic.keystore
rename to libresonic-booter/src/main/resources/libresonic.keystore
index 54e1589c..95861d24 100644
Binary files a/subsonic-booter/src/main/resources/subsonic.keystore and b/libresonic-booter/src/main/resources/libresonic.keystore differ
diff --git a/subsonic-booter/src/main/resources/web-jetty.xml b/libresonic-booter/src/main/resources/web-jetty.xml
similarity index 78%
rename from subsonic-booter/src/main/resources/web-jetty.xml
rename to libresonic-booter/src/main/resources/web-jetty.xml
index 0282119f..0ea23153 100644
--- a/subsonic-booter/src/main/resources/web-jetty.xml
+++ b/libresonic-booter/src/main/resources/web-jetty.xml
@@ -1,24 +1,24 @@
-
diff --git a/libresonic-booter/src/main/script/libresonic.bat b/libresonic-booter/src/main/script/libresonic.bat
new file mode 100644
index 00000000..68a89009
--- /dev/null
+++ b/libresonic-booter/src/main/script/libresonic.bat
@@ -0,0 +1,24 @@
+@echo off
+
+REM The directory where Libresonic will create files. Make sure it is writable.
+set LIBRESONIC_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 LIBRESONIC_HOST=0.0.0.0
+
+REM The port on which Libresonic will listen for incoming HTTP traffic.
+set LIBRESONIC_PORT=4040
+
+REM The port on which Libresonic will listen for incoming HTTPS traffic (0 to disable).
+set LIBRESONIC_HTTPS_PORT=0
+
+REM The context path (i.e., the last part of the Libresonic URL). Typically "/" or "/libresonic".
+set LIBRESONIC_CONTEXT_PATH=/
+
+REM The memory limit (max Java heap size) in megabytes.
+set MAX_MEMORY=150
+
+java -Xmx%MAX_MEMORY%m -Dlibresonic.home=%LIBRESONIC_HOME% -Dlibresonic.host=%LIBRESONIC_HOST% -Dlibresonic.port=%LIBRESONIC_PORT% -Dlibresonic.httpsPort=%LIBRESONIC_HTTPS_PORT% -Dlibresonic.contextPath=%LIBRESONIC_CONTEXT_PATH% -jar libresonic-booter-jar-with-dependencies.jar
+
diff --git a/libresonic-booter/src/main/script/libresonic.sh b/libresonic-booter/src/main/script/libresonic.sh
new file mode 100755
index 00000000..2d058beb
--- /dev/null
+++ b/libresonic-booter/src/main/script/libresonic.sh
@@ -0,0 +1,134 @@
+#!/bin/sh
+
+###################################################################################
+# Shell script for starting Libresonic. See http://libresonic.org.
+#
+# Author: Sindre Mehus
+###################################################################################
+
+LIBRESONIC_HOME=/var/libresonic
+LIBRESONIC_HOST=0.0.0.0
+LIBRESONIC_PORT=4040
+LIBRESONIC_HTTPS_PORT=0
+LIBRESONIC_CONTEXT_PATH=/
+LIBRESONIC_MAX_MEMORY=150
+LIBRESONIC_PIDFILE=
+LIBRESONIC_DEFAULT_MUSIC_FOLDER=/var/music
+LIBRESONIC_DEFAULT_PODCAST_FOLDER=/var/music/Podcast
+LIBRESONIC_DEFAULT_PLAYLIST_FOLDER=/var/playlists
+
+quiet=0
+
+usage() {
+ echo "Usage: libresonic.sh [options]"
+ echo " --help This small usage guide."
+ echo " --home=DIR The directory where Libresonic will create files."
+ echo " Make sure it is writable. Default: /var/libresonic"
+ echo " --host=HOST The host name or IP address on which to bind Libresonic."
+ echo " Only relevant if you have multiple network interfaces and want"
+ echo " to make Libresonic available on only one of them. The default value"
+ echo " will bind Libresonic to all available network interfaces. Default: 0.0.0.0"
+ echo " --port=PORT The port on which Libresonic will listen for"
+ echo " incoming HTTP traffic. Default: 4040"
+ echo " --https-port=PORT The port on which Libresonic will listen for"
+ echo " incoming HTTPS traffic. Default: 0 (disabled)"
+ echo " --context-path=PATH The context path, i.e., the last part of the Libresonic"
+ echo " URL. Typically '/' or '/libresonic'. Default '/'"
+ echo " --max-memory=MB The memory limit (max Java heap size) in megabytes."
+ echo " Default: 100"
+ echo " --pidfile=PIDFILE Write PID to this file. Default not created."
+ echo " --quiet Don't print anything to standard out. Default false."
+ echo " --default-music-folder=DIR Configure Libresonic to use this folder for music. This option "
+ echo " only has effect the first time Libresonic is started. Default '/var/music'"
+ echo " --default-podcast-folder=DIR Configure Libresonic to use this folder for Podcasts. This option "
+ echo " only has effect the first time Libresonic is started. Default '/var/music/Podcast'"
+ echo " --default-playlist-folder=DIR Configure Libresonic to use this folder for playlists. This option "
+ echo " only has effect the first time Libresonic is started. Default '/var/playlists'"
+ exit 1
+}
+
+# Parse arguments.
+while [ $# -ge 1 ]; do
+ case $1 in
+ --help)
+ usage
+ ;;
+ --home=?*)
+ LIBRESONIC_HOME=${1#--home=}
+ ;;
+ --host=?*)
+ LIBRESONIC_HOST=${1#--host=}
+ ;;
+ --port=?*)
+ LIBRESONIC_PORT=${1#--port=}
+ ;;
+ --https-port=?*)
+ LIBRESONIC_HTTPS_PORT=${1#--https-port=}
+ ;;
+ --context-path=?*)
+ LIBRESONIC_CONTEXT_PATH=${1#--context-path=}
+ ;;
+ --max-memory=?*)
+ LIBRESONIC_MAX_MEMORY=${1#--max-memory=}
+ ;;
+ --pidfile=?*)
+ LIBRESONIC_PIDFILE=${1#--pidfile=}
+ ;;
+ --quiet)
+ quiet=1
+ ;;
+ --default-music-folder=?*)
+ LIBRESONIC_DEFAULT_MUSIC_FOLDER=${1#--default-music-folder=}
+ ;;
+ --default-podcast-folder=?*)
+ LIBRESONIC_DEFAULT_PODCAST_FOLDER=${1#--default-podcast-folder=}
+ ;;
+ --default-playlist-folder=?*)
+ LIBRESONIC_DEFAULT_PLAYLIST_FOLDER=${1#--default-playlist-folder=}
+ ;;
+ *)
+ usage
+ ;;
+ esac
+ shift
+done
+
+# Use JAVA_HOME if set, otherwise assume java is in the path.
+JAVA=java
+if [ -e "${JAVA_HOME}" ]
+ then
+ JAVA=${JAVA_HOME}/bin/java
+fi
+
+# Create Libresonic home directory.
+mkdir -p ${LIBRESONIC_HOME}
+LOG=${LIBRESONIC_HOME}/libresonic_sh.log
+rm -f ${LOG}
+
+cd $(dirname $0)
+if [ -L $0 ] && ([ -e /bin/readlink ] || [ -e /usr/bin/readlink ]); then
+ cd $(dirname $(readlink $0))
+fi
+
+${JAVA} -Xmx${LIBRESONIC_MAX_MEMORY}m \
+ -Dlibresonic.home=${LIBRESONIC_HOME} \
+ -Dlibresonic.host=${LIBRESONIC_HOST} \
+ -Dlibresonic.port=${LIBRESONIC_PORT} \
+ -Dlibresonic.httpsPort=${LIBRESONIC_HTTPS_PORT} \
+ -Dlibresonic.contextPath=${LIBRESONIC_CONTEXT_PATH} \
+ -Dlibresonic.defaultMusicFolder=${LIBRESONIC_DEFAULT_MUSIC_FOLDER} \
+ -Dlibresonic.defaultPodcastFolder=${LIBRESONIC_DEFAULT_PODCAST_FOLDER} \
+ -Dlibresonic.defaultPlaylistFolder=${LIBRESONIC_DEFAULT_PLAYLIST_FOLDER} \
+ -Djava.awt.headless=true \
+ -verbose:gc \
+ -jar libresonic-booter-jar-with-dependencies.jar > ${LOG} 2>&1 &
+
+# Write pid to pidfile if it is defined.
+if [ $LIBRESONIC_PIDFILE ]; then
+ echo $! > ${LIBRESONIC_PIDFILE}
+fi
+
+if [ $quiet = 0 ]; then
+ echo Started Libresonic [PID $!, ${LOG}]
+fi
+
diff --git a/subsonic-installer-debian/pom.xml b/libresonic-installer-debian/pom.xml
similarity index 71%
rename from subsonic-installer-debian/pom.xml
rename to libresonic-installer-debian/pom.xml
index ca15cbb5..4dd8b5b1 100644
--- a/subsonic-installer-debian/pom.xml
+++ b/libresonic-installer-debian/pom.xml
@@ -2,15 +2,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-installer-debian
+ libresonic-installer-debianpom
- Subsonic Installer for Debian
+ Libresonic Installer for Debian
- net.sourceforge.subsonic
- subsonic
- 6.0.1
+ org.libresonic.player
+ libresonic
+ 6.1.rc1
@@ -41,11 +40,11 @@
-
-
-
-
-
+
+
+
+
+
@@ -53,10 +52,10 @@
-
-
-
-
+
+
+
+
@@ -65,10 +64,10 @@
-
+
-
+
diff --git a/libresonic-installer-debian/src/DEBIAN/conffiles b/libresonic-installer-debian/src/DEBIAN/conffiles
new file mode 100644
index 00000000..01b33bee
--- /dev/null
+++ b/libresonic-installer-debian/src/DEBIAN/conffiles
@@ -0,0 +1 @@
+/etc/default/libresonic
diff --git a/subsonic-installer-debian/src/DEBIAN/control b/libresonic-installer-debian/src/DEBIAN/control
similarity index 60%
rename from subsonic-installer-debian/src/DEBIAN/control
rename to libresonic-installer-debian/src/DEBIAN/control
index 21caa735..08e6f05d 100644
--- a/subsonic-installer-debian/src/DEBIAN/control
+++ b/libresonic-installer-debian/src/DEBIAN/control
@@ -1,18 +1,18 @@
-Package: subsonic
+Package: libresonic
Version: @VERSION@
Section: Multimedia
Priority: optional
Recommends: ffmpeg
Architecture: all
-Maintainer: Sindre Mehus
+Maintainer: Eugene E. Kashpureff Jr
Description: A web-based music streamer, jukebox and Podcast receiver
- Subsonic is a web-based music streamer, jukebox and Podcast receiver,
+ 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 Subsonic.
+ Java 1.6 or higher is required to run Libresonic.
.
- Subsonic can be found at http://subsonic.org
+ Libresonic can be found at http://libresonic.org
diff --git a/libresonic-installer-debian/src/DEBIAN/postinst b/libresonic-installer-debian/src/DEBIAN/postinst
new file mode 100644
index 00000000..30abebda
--- /dev/null
+++ b/libresonic-installer-debian/src/DEBIAN/postinst
@@ -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
diff --git a/subsonic-installer-debian/src/DEBIAN/postrm b/libresonic-installer-debian/src/DEBIAN/postrm
similarity index 52%
rename from subsonic-installer-debian/src/DEBIAN/postrm
rename to libresonic-installer-debian/src/DEBIAN/postrm
index 1ecc392d..2bfccda9 100644
--- a/subsonic-installer-debian/src/DEBIAN/postrm
+++ b/libresonic-installer-debian/src/DEBIAN/postrm
@@ -3,7 +3,7 @@
set -e
# Remove symlink.
-rm -f /usr/bin/subsonic
+rm -f /usr/bin/libresonic
# Remove startup scripts.
-update-rc.d -f subsonic remove
+update-rc.d -f libresonic remove
diff --git a/libresonic-installer-debian/src/DEBIAN/preinst b/libresonic-installer-debian/src/DEBIAN/preinst
new file mode 100644
index 00000000..1b32b446
--- /dev/null
+++ b/libresonic-installer-debian/src/DEBIAN/preinst
@@ -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
+
diff --git a/libresonic-installer-debian/src/DEBIAN/prerm b/libresonic-installer-debian/src/DEBIAN/prerm
new file mode 100644
index 00000000..786b645e
--- /dev/null
+++ b/libresonic-installer-debian/src/DEBIAN/prerm
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+set -e
+
+# Stop Libresonic service.
+if [ -e /etc/init.d/libresonic ]; then
+ invoke-rc.d libresonic stop
+fi
diff --git a/libresonic-installer-debian/src/etc/default/libresonic b/libresonic-installer-debian/src/etc/default/libresonic
new file mode 100644
index 00000000..df01c916
--- /dev/null
+++ b/libresonic-installer-debian/src/etc/default/libresonic
@@ -0,0 +1,25 @@
+#
+# This is the configuration file for the Libresonic service
+# (/etc/init.d/libresonic)
+#
+# To change the startup parameters of Libresonic, modify
+# the LIBRESONIC_ARGS variable below.
+#
+# Type "/usr/share/libresonic/libresonic.sh --help" on the command line to read an
+# explanation of the different options.
+#
+# For example, to specify that Libresonic should use port 80 (for http)
+# and 443 (for https), and use a Java memory heap size of 200 MB, use
+# the following:
+#
+# LIBRESONIC_ARGS="--port=80 --https-port=443 --max-memory=200"
+
+LIBRESONIC_ARGS="--max-memory=150"
+
+
+# The user which should run the Libresonic process. Default "root".
+# Note that non-root users are by default not allowed to use ports
+# below 1024. Also make sure to grant the user write permissions in
+# the music directories, otherwise changing album art and tags will fail.
+
+LIBRESONIC_USER=root
\ No newline at end of file
diff --git a/subsonic-installer-debian/src/etc/init.d/subsonic b/libresonic-installer-debian/src/etc/init.d/libresonic
similarity index 72%
rename from subsonic-installer-debian/src/etc/init.d/subsonic
rename to libresonic-installer-debian/src/etc/init.d/libresonic
index b45c1ed9..bcb1c4d9 100644
--- a/subsonic-installer-debian/src/etc/init.d/subsonic
+++ b/libresonic-installer-debian/src/etc/init.d/libresonic
@@ -1,37 +1,37 @@
#! /bin/sh
### BEGIN INIT INFO
-# Provides: subsonic
+# Provides: libresonic
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
-# Short-Description: Subsonic daemon
-# Description: Starts the Subsonic daemon. Subsonic is a web-based
+# Short-Description: Libresonic daemon
+# Description: Starts the Libresonic daemon. Libresonic is a web-based
# music streamer, jukebox and Podcast receiver.
-# See http://subsonic.org for more details.
+# See http://libresonic.org for more details.
### END INIT INFO
# Author: Sindre Mehus
-# To change the startup parameters of Subsonic, modify the service
-# configuration file /etc/default/subsonic rather than this file.
-[ -r /etc/default/subsonic ] && . /etc/default/subsonic
+# To change the startup parameters of Libresonic, modify the service
+# configuration file /etc/default/libresonic rather than this file.
+[ -r /etc/default/libresonic ] && . /etc/default/libresonic
PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="Subsonic Daemon"
-NAME=subsonic
+DESC="Libresonic Daemon"
+NAME=libresonic
PIDFILE=/var/run/$NAME.pid
DAEMON=/usr/bin/$NAME
-DAEMON_ARGS="--pidfile=$PIDFILE $SUBSONIC_ARGS"
+DAEMON_ARGS="--pidfile=$PIDFILE $LIBRESONIC_ARGS"
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
-# Run as root if SUBSONIC_USER is not set.
-[ "$SUBSONIC_USER" = "" ] && SUBSONIC_USER=root
+# Run as root if LIBRESONIC_USER is not set.
+[ "$LIBRESONIC_USER" = "" ] && LIBRESONIC_USER=root
-# Make sure Subsonic is started with system locale
+# Make sure Libresonic is started with system locale
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG
@@ -61,11 +61,11 @@ do_start()
fi
touch $PIDFILE
- chown $SUBSONIC_USER $PIDFILE
- [ -e /var/subsonic ] && chown -R $SUBSONIC_USER /var/subsonic
- [ -e /tmp/subsonic ] && chown -R $SUBSONIC_USER /tmp/subsonic
+ chown $LIBRESONIC_USER $PIDFILE
+ [ -e /var/libresonic ] && chown -R $LIBRESONIC_USER /var/libresonic
+ [ -e /tmp/libresonic ] && chown -R $LIBRESONIC_USER /tmp/libresonic
- start-stop-daemon --start -c $SUBSONIC_USER --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 2
+ start-stop-daemon --start -c $LIBRESONIC_USER --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS || return 2
}
#
diff --git a/subsonic-installer-mac/pom.xml b/libresonic-installer-mac/pom.xml
similarity index 65%
rename from subsonic-installer-mac/pom.xml
rename to libresonic-installer-mac/pom.xml
index 4ccf67f1..29a30211 100644
--- a/subsonic-installer-mac/pom.xml
+++ b/libresonic-installer-mac/pom.xml
@@ -2,29 +2,28 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-installer-mac
+ libresonic-installer-macpom
- Subsonic Installer for Mac
+ Libresonic Installer for Mac
- net.sourceforge.subsonic
- subsonic
- 6.0.1
+ org.libresonic.player
+ libresonic
+ 6.1.rc1
- net.sourceforge.subsonic
- subsonic-main
+ org.libresonic.player
+ libresonic-main${project.version}war
- net.sourceforge.subsonic
- subsonic-booter
+ org.libresonic.player
+ libresonic-booter${project.version}
@@ -52,41 +51,41 @@
+ mainclassname="org.libresonic.player.booter.Main">
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
+
-
-
+
+
diff --git a/subsonic-installer-mac/src/subsonic.icns b/libresonic-installer-mac/src/libresonic.icns
similarity index 100%
rename from subsonic-installer-mac/src/subsonic.icns
rename to libresonic-installer-mac/src/libresonic.icns
diff --git a/subsonic-installer-mac/src/subsonic.pkgproj b/libresonic-installer-mac/src/libresonic.pkgproj
similarity index 98%
rename from subsonic-installer-mac/src/subsonic.pkgproj
rename to libresonic-installer-mac/src/libresonic.pkgproj
index f8240032..c2c75fe2 100755
--- a/subsonic-installer-mac/src/subsonic.pkgproj
+++ b/libresonic-installer-mac/src/libresonic.pkgproj
@@ -22,7 +22,7 @@
GID80PATH
- ../target/Subsonic.app
+ ../target/Libresonic.appPATH_TYPE1PERMISSIONS
@@ -80,7 +80,7 @@
GID80PATH
- ../../subsonic-transcode/mac/ffmpeg
+ ../../libresonic-transcode/mac/ffmpegPATH_TYPE1PERMISSIONS
@@ -108,7 +108,7 @@
GID80PATH
- Subsonic
+ LibresonicPATH_TYPE0PERMISSIONS
@@ -546,9 +546,9 @@
CONCLUSION_ACTION0IDENTIFIER
- net.sourceforge.subsonic
+ org.libresonic.playerNAME
- subsonic
+ libresonicOVERWRITE_PERMISSIONSVERSION
@@ -586,7 +586,7 @@
BACKGROUND_PATHPATH
- subsonic.png
+ libresonic.pngPATH_TYPE1
@@ -672,7 +672,7 @@
LANGUAGEEnglishVALUE
- Subsonic
+ Libresonic
@@ -872,7 +872,7 @@
NAME
- subsonic
+ libresonicTYPE
diff --git a/subsonic-installer-mac/src/subsonic.png b/libresonic-installer-mac/src/libresonic.png
similarity index 100%
rename from subsonic-installer-mac/src/subsonic.png
rename to libresonic-installer-mac/src/libresonic.png
diff --git a/libresonic-installer-mac/src/postinstall.sh b/libresonic-installer-mac/src/postinstall.sh
new file mode 100644
index 00000000..a01c068b
--- /dev/null
+++ b/libresonic-installer-mac/src/postinstall.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+LIBRESONIC_HOME="/Library/Application Support/Libresonic"
+
+chmod oug+rwx "$LIBRESONIC_HOME"
+chown root:admin "$LIBRESONIC_HOME"
+
+chmod oug+rx "$LIBRESONIC_HOME/transcode"
+chown root:admin "$LIBRESONIC_HOME/transcode"
+
+rm -rf "$LIBRESONIC_HOME/jetty"
+
+echo Libresonic installation done
diff --git a/libresonic-installer-mac/src/preinstall.sh b/libresonic-installer-mac/src/preinstall.sh
new file mode 100755
index 00000000..3846ca0a
--- /dev/null
+++ b/libresonic-installer-mac/src/preinstall.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+LIBRESONIC_HOME="/Library/Application Support/Libresonic"
+
+# Backup database.
+
+if [ -e "$LIBRESONIC_HOME/db" ]; then
+ rm -rf "$LIBRESONIC_HOME/db.backup"
+ cp -R "$LIBRESONIC_HOME/db" "$LIBRESONIC_HOME/db.backup"
+fi
+
diff --git a/subsonic-installer-rpm/pom.xml b/libresonic-installer-rpm/pom.xml
similarity index 80%
rename from subsonic-installer-rpm/pom.xml
rename to libresonic-installer-rpm/pom.xml
index 89837d66..708ebbef 100644
--- a/subsonic-installer-rpm/pom.xml
+++ b/libresonic-installer-rpm/pom.xml
@@ -2,15 +2,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-installer-rpm
+ libresonic-installer-rpmpom
- Subsonic Installer for RPM
+ Libresonic Installer for RPM
- net.sourceforge.subsonic
- subsonic
- 6.0.1
+ org.libresonic.player
+ libresonic
+ 6.1.rc1
@@ -52,7 +51,7 @@
Creating RPM package...
-
@@ -61,7 +60,7 @@
-
+ .beta1.beta2.beta3
@@ -70,20 +69,20 @@
-
-
-
-
-
-
-
+
+
+
+
+
@@ -93,17 +92,17 @@
-
+
-
+
-
+
diff --git a/subsonic-installer-rpm/src/etc/init.d/subsonic b/libresonic-installer-rpm/src/etc/init.d/libresonic
similarity index 61%
rename from subsonic-installer-rpm/src/etc/init.d/subsonic
rename to libresonic-installer-rpm/src/etc/init.d/libresonic
index 8c17ea44..d58df0a4 100644
--- a/subsonic-installer-rpm/src/etc/init.d/subsonic
+++ b/libresonic-installer-rpm/src/etc/init.d/libresonic
@@ -1,41 +1,41 @@
#!/bin/bash
#
-# subsonic This shell script takes care of starting and stopping Subsonic
+# libresonic This shell script takes care of starting and stopping Libresonic
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
-# Provides: subsonic
+# Provides: libresonic
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
-# Short-Description: Subsonic daemon
-# Description: Starts the Subsonic daemon. Subsonic is a web-based
+# Short-Description: Libresonic daemon
+# Description: Starts the Libresonic daemon. Libresonic is a web-based
# music streamer, jukebox and Podcast receiver.
-# See http://subsonic.org for more details.
+# See http://libresonic.org for more details.
### END INIT INFO
# Author: Sindre Mehus
-# To change the startup parameters of Subsonic, modify the service
-# configuration file /etc/sysconfig/subsonic rather than this file.
-[ -r /etc/sysconfig/subsonic ] && . /etc/sysconfig/subsonic
+# To change the startup parameters of Libresonic, modify the service
+# configuration file /etc/sysconfig/libresonic rather than this file.
+[ -r /etc/sysconfig/libresonic ] && . /etc/sysconfig/libresonic
PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC="Subsonic Daemon"
-NAME=subsonic
+DESC="Libresonic Daemon"
+NAME=libresonic
PIDFILE=/var/run/$NAME.pid
LOCKFILE=/var/lock/subsys/$NAME
DAEMON=/usr/bin/$NAME
-DAEMON_ARGS="--pidfile=$PIDFILE $SUBSONIC_ARGS"
+DAEMON_ARGS="--pidfile=$PIDFILE $LIBRESONIC_ARGS"
SCRIPTNAME=/etc/init.d/$NAME
# Exit if the package is not installed.
[ -x "$DAEMON" ] || exit 0
-# Run as root if SUBSONIC_USER is not set.
-[ "$SUBSONIC_USER" = "" ] && SUBSONIC_USER=root
+# Run as root if LIBRESONIC_USER is not set.
+[ "$LIBRESONIC_USER" = "" ] && LIBRESONIC_USER=root
# Source function library.
. /etc/init.d/functions
@@ -53,12 +53,12 @@ do_start()
fi
touch $PIDFILE
- chown $SUBSONIC_USER $PIDFILE
- [ -e /var/subsonic ] && chown -R $SUBSONIC_USER /var/subsonic
- [ -e /tmp/subsonic ] && chown -R $SUBSONIC_USER /tmp/subsonic
+ chown $LIBRESONIC_USER $PIDFILE
+ [ -e /var/libresonic ] && chown -R $LIBRESONIC_USER /var/libresonic
+ [ -e /tmp/libresonic ] && chown -R $LIBRESONIC_USER /tmp/libresonic
echo $"Starting $NAME ..."
- su -c "$DAEMON $DAEMON_ARGS" $SUBSONIC_USER
+ su -c "$DAEMON $DAEMON_ARGS" $LIBRESONIC_USER
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
diff --git a/libresonic-installer-rpm/src/etc/sysconfig/libresonic b/libresonic-installer-rpm/src/etc/sysconfig/libresonic
new file mode 100644
index 00000000..919b31d1
--- /dev/null
+++ b/libresonic-installer-rpm/src/etc/sysconfig/libresonic
@@ -0,0 +1,25 @@
+#
+# This is the configuration file for the Libresonic service
+# (/etc/init.d/libresonic)
+#
+# To change the startup parameters of Libresonic, modify
+# the LIBRESONIC_ARGS variable below.
+#
+# Type "/usr/share/libresonic/libresonic.sh --help" on the command line to read an
+# explanation of the different options.
+#
+# For example, to specify that Libresonic should use port 80 (for http)
+# and 443 (for https), and use a Java memory heap size of 200 MB, use
+# the following:
+#
+# LIBRESONIC_ARGS="--port=80 --https-port=443 --max-memory=200"
+
+LIBRESONIC_ARGS="--max-memory=150"
+
+
+# The user which should run the Libresonic process. Default "root".
+# Note that non-root users are by default not allowed to use ports
+# below 1024. Also make sure to grant the user write permissions in
+# the music directories, otherwise changing album art and tags will fail.
+
+LIBRESONIC_USER=root
diff --git a/libresonic-installer-rpm/src/libresonic.spec b/libresonic-installer-rpm/src/libresonic.spec
new file mode 100644
index 00000000..2818f059
--- /dev/null
+++ b/libresonic-installer-rpm/src/libresonic.spec
@@ -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
+
diff --git a/subsonic-installer-windows/pom.xml b/libresonic-installer-windows/pom.xml
similarity index 79%
rename from subsonic-installer-windows/pom.xml
rename to libresonic-installer-windows/pom.xml
index ce5417c6..e400c512 100644
--- a/subsonic-installer-windows/pom.xml
+++ b/libresonic-installer-windows/pom.xml
@@ -2,15 +2,14 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-installer-windows
+ libresonic-installer-windowspom
- Subsonic Installer for Windows
+ Libresonic Installer for Windows
- net.sourceforge.subsonic
- subsonic
- 6.0.1
+ org.libresonic.player
+ libresonic
+ 6.1.rc1
@@ -21,15 +20,15 @@
- net.sourceforge.subsonic
- subsonic-main
+ org.libresonic.player
+ libresonic-main${project.version}war
- net.sourceforge.subsonic
- subsonic-booter
+ org.libresonic.player
+ libresonic-booter${project.version}
@@ -56,20 +55,20 @@
Compiling exe4j...
-
-
-
+
+
+
-
+
-
+
-
+
@@ -86,8 +85,8 @@
Compiling NSIS script...
-
-
+
+
diff --git a/subsonic-installer-windows/src/main/exe4j/subsonic-16.ico b/libresonic-installer-windows/src/main/exe4j/libresonic-16.ico
similarity index 100%
rename from subsonic-installer-windows/src/main/exe4j/subsonic-16.ico
rename to libresonic-installer-windows/src/main/exe4j/libresonic-16.ico
diff --git a/subsonic-installer-windows/src/main/exe4j/subsonic-agent-elevated.exe.vmoptions b/libresonic-installer-windows/src/main/exe4j/libresonic-agent-elevated.exe.vmoptions
similarity index 100%
rename from subsonic-installer-windows/src/main/exe4j/subsonic-agent-elevated.exe.vmoptions
rename to libresonic-installer-windows/src/main/exe4j/libresonic-agent-elevated.exe.vmoptions
diff --git a/subsonic-installer-windows/src/main/exe4j/subsonic-agent-elevated.exe4j b/libresonic-installer-windows/src/main/exe4j/libresonic-agent-elevated.exe4j
similarity index 53%
rename from subsonic-installer-windows/src/main/exe4j/subsonic-agent-elevated.exe4j
rename to libresonic-installer-windows/src/main/exe4j/libresonic-agent-elevated.exe4j
index b6c2d9a3..7b213300 100644
--- a/subsonic-installer-windows/src/main/exe4j/subsonic-agent-elevated.exe4j
+++ b/libresonic-installer-windows/src/main/exe4j/libresonic-agent-elevated.exe4j
@@ -1,12 +1,12 @@
-
+
-
+
@@ -18,14 +18,14 @@
-
+
-
+
diff --git a/subsonic-installer-windows/src/main/exe4j/subsonic-agent.exe.vmoptions b/libresonic-installer-windows/src/main/exe4j/libresonic-agent.exe.vmoptions
similarity index 100%
rename from subsonic-installer-windows/src/main/exe4j/subsonic-agent.exe.vmoptions
rename to libresonic-installer-windows/src/main/exe4j/libresonic-agent.exe.vmoptions
diff --git a/subsonic-installer-windows/src/main/exe4j/subsonic-agent.exe4j b/libresonic-installer-windows/src/main/exe4j/libresonic-agent.exe4j
similarity index 66%
rename from subsonic-installer-windows/src/main/exe4j/subsonic-agent.exe4j
rename to libresonic-installer-windows/src/main/exe4j/libresonic-agent.exe4j
index 5611e45f..da39f532 100644
--- a/subsonic-installer-windows/src/main/exe4j/subsonic-agent.exe4j
+++ b/libresonic-installer-windows/src/main/exe4j/libresonic-agent.exe4j
@@ -1,12 +1,12 @@
-
+
-
+
@@ -24,14 +24,14 @@
-
+
-
+
diff --git a/libresonic-installer-windows/src/main/exe4j/libresonic-service.exe.vmoptions b/libresonic-installer-windows/src/main/exe4j/libresonic-service.exe.vmoptions
new file mode 100644
index 00000000..7196e9ae
--- /dev/null
+++ b/libresonic-installer-windows/src/main/exe4j/libresonic-service.exe.vmoptions
@@ -0,0 +1,6 @@
+-Xmx150m
+-verbose:gc
+-Dlibresonic.host=0.0.0.0
+-Dlibresonic.port=4040
+-Dlibresonic.httpsPort=0
+-Dlibresonic.contextPath=/
diff --git a/subsonic-installer-windows/src/main/exe4j/subsonic-service.exe4j b/libresonic-installer-windows/src/main/exe4j/libresonic-service.exe4j
similarity index 65%
rename from subsonic-installer-windows/src/main/exe4j/subsonic-service.exe4j
rename to libresonic-installer-windows/src/main/exe4j/libresonic-service.exe4j
index 2b870b59..6bfb2327 100644
--- a/subsonic-installer-windows/src/main/exe4j/subsonic-service.exe4j
+++ b/libresonic-installer-windows/src/main/exe4j/libresonic-service.exe4j
@@ -1,12 +1,12 @@
-
+
-
+
@@ -24,14 +24,14 @@
-
+
-
+
diff --git a/subsonic-installer-windows/src/main/nsis/jre-8u31-windows-i586-iftw.exe b/libresonic-installer-windows/src/main/nsis/jre-8u31-windows-i586-iftw.exe
similarity index 100%
rename from subsonic-installer-windows/src/main/nsis/jre-8u31-windows-i586-iftw.exe
rename to libresonic-installer-windows/src/main/nsis/jre-8u31-windows-i586-iftw.exe
diff --git a/libresonic-installer-windows/src/main/nsis/libresonic.nsi b/libresonic-installer-windows/src/main/nsis/libresonic.nsi
new file mode 100644
index 00000000..b7ef37fe
--- /dev/null
+++ b/libresonic-installer-windows/src/main/nsis/libresonic.nsi
@@ -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
diff --git a/libresonic-main/Getting Started.html b/libresonic-main/Getting Started.html
new file mode 100644
index 00000000..b0c9f829
--- /dev/null
+++ b/libresonic-main/Getting Started.html
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/subsonic-main/LICENSE.TXT b/libresonic-main/LICENSE.TXT
similarity index 100%
rename from subsonic-main/LICENSE.TXT
rename to libresonic-main/LICENSE.TXT
diff --git a/subsonic-main/dreamplug.txt b/libresonic-main/dreamplug.txt
similarity index 84%
rename from subsonic-main/dreamplug.txt
rename to libresonic-main/dreamplug.txt
index cbf4ccab..30dcbcce 100644
--- a/subsonic-main/dreamplug.txt
+++ b/libresonic-main/dreamplug.txt
@@ -84,19 +84,19 @@ java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.2) (6b18-1.8.2-4ubuntu1~9.04.1)
OpenJDK Zero VM (build 14.0-b16, mixed mode)
-root@ubuntu:/tmp# dpkg -i subsonic-4.4.deb
-Selecting previously deselected package subsonic.
+root@ubuntu:/tmp# dpkg -i libresonic-4.4.deb
+Selecting previously deselected package libresonic.
(Reading database ... 21622 files and directories currently installed.)
-Unpacking subsonic (from subsonic-4.4.deb) ...
-Setting up subsonic (4.4) ...
- Adding system startup for /etc/init.d/subsonic ...
- /etc/rc0.d/K99subsonic -> ../init.d/subsonic
- /etc/rc1.d/K99subsonic -> ../init.d/subsonic
- /etc/rc6.d/K99subsonic -> ../init.d/subsonic
- /etc/rc2.d/S99subsonic -> ../init.d/subsonic
- /etc/rc3.d/S99subsonic -> ../init.d/subsonic
- /etc/rc4.d/S99subsonic -> ../init.d/subsonic
- /etc/rc5.d/S99subsonic -> ../init.d/subsonic
-Started Subsonic [PID 2596, /var/subsonic/subsonic_sh.log]
+Unpacking libresonic (from libresonic-4.4.deb) ...
+Setting up libresonic (4.4) ...
+ Adding system startup for /etc/init.d/libresonic ...
+ /etc/rc0.d/K99libresonic -> ../init.d/libresonic
+ /etc/rc1.d/K99libresonic -> ../init.d/libresonic
+ /etc/rc6.d/K99libresonic -> ../init.d/libresonic
+ /etc/rc2.d/S99libresonic -> ../init.d/libresonic
+ /etc/rc3.d/S99libresonic -> ../init.d/libresonic
+ /etc/rc4.d/S99libresonic -> ../init.d/libresonic
+ /etc/rc5.d/S99libresonic -> ../init.d/libresonic
+Started Libresonic [PID 2596, /var/libresonic/libresonic_sh.log]
http://192.168.0.100:4040
\ No newline at end of file
diff --git a/subsonic-main/pom.xml b/libresonic-main/pom.xml
similarity index 93%
rename from subsonic-main/pom.xml
rename to libresonic-main/pom.xml
index 6c8b44fa..9172db2d 100644
--- a/subsonic-main/pom.xml
+++ b/libresonic-main/pom.xml
@@ -2,28 +2,27 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
- net.sourceforge.subsonic
- subsonic-main
+ libresonic-mainwar
- Subsonic Main
+ Libresonic Main
- net.sourceforge.subsonic
+ org.libresonic.playerlibresonic
- 6.0.1
+ 6.1.rc1
- net.sourceforge.subsonic
- subsonic-rest-api
+ org.libresonic.player
+ libresonic-rest-api${project.version}
- net.sourceforge.subsonic
- subsonic-sonos-api
+ org.libresonic.player
+ libresonic-sonos-api${project.version}
@@ -254,6 +253,12 @@
runtime
+
+ javax.mail
+ javax.mail-api
+ 1.5.5
+
+
taglibsstandard
@@ -280,6 +285,7 @@
test
+
org.fourthline.clingcling-core
@@ -295,7 +301,7 @@
org.seamlessseamless-util
- 1.0-alpha2
+ 1.1.0
@@ -310,6 +316,7 @@
0.1.2
+
org.apache.cxfcxf-rt-transports-http
@@ -382,10 +389,11 @@
- subsonic
+ libresonic
+ org.apache.maven.pluginsmaven-antrun-plugin
@@ -393,8 +401,8 @@
-
+ ${buildNumber}${DSTAMP}${project.version}
diff --git a/subsonic-main/src/main/java/org/json/CDL.java b/libresonic-main/src/main/java/org/json/CDL.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/CDL.java
rename to libresonic-main/src/main/java/org/json/CDL.java
diff --git a/subsonic-main/src/main/java/org/json/Cookie.java b/libresonic-main/src/main/java/org/json/Cookie.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/Cookie.java
rename to libresonic-main/src/main/java/org/json/Cookie.java
diff --git a/subsonic-main/src/main/java/org/json/CookieList.java b/libresonic-main/src/main/java/org/json/CookieList.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/CookieList.java
rename to libresonic-main/src/main/java/org/json/CookieList.java
diff --git a/subsonic-main/src/main/java/org/json/HTTP.java b/libresonic-main/src/main/java/org/json/HTTP.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/HTTP.java
rename to libresonic-main/src/main/java/org/json/HTTP.java
diff --git a/subsonic-main/src/main/java/org/json/HTTPTokener.java b/libresonic-main/src/main/java/org/json/HTTPTokener.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/HTTPTokener.java
rename to libresonic-main/src/main/java/org/json/HTTPTokener.java
diff --git a/subsonic-main/src/main/java/org/json/JSONArray.java b/libresonic-main/src/main/java/org/json/JSONArray.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONArray.java
rename to libresonic-main/src/main/java/org/json/JSONArray.java
diff --git a/subsonic-main/src/main/java/org/json/JSONException.java b/libresonic-main/src/main/java/org/json/JSONException.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONException.java
rename to libresonic-main/src/main/java/org/json/JSONException.java
diff --git a/subsonic-main/src/main/java/org/json/JSONML.java b/libresonic-main/src/main/java/org/json/JSONML.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONML.java
rename to libresonic-main/src/main/java/org/json/JSONML.java
diff --git a/subsonic-main/src/main/java/org/json/JSONObject.java b/libresonic-main/src/main/java/org/json/JSONObject.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONObject.java
rename to libresonic-main/src/main/java/org/json/JSONObject.java
diff --git a/subsonic-main/src/main/java/org/json/JSONString.java b/libresonic-main/src/main/java/org/json/JSONString.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONString.java
rename to libresonic-main/src/main/java/org/json/JSONString.java
diff --git a/subsonic-main/src/main/java/org/json/JSONStringer.java b/libresonic-main/src/main/java/org/json/JSONStringer.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONStringer.java
rename to libresonic-main/src/main/java/org/json/JSONStringer.java
diff --git a/subsonic-main/src/main/java/org/json/JSONTokener.java b/libresonic-main/src/main/java/org/json/JSONTokener.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONTokener.java
rename to libresonic-main/src/main/java/org/json/JSONTokener.java
diff --git a/subsonic-main/src/main/java/org/json/JSONWriter.java b/libresonic-main/src/main/java/org/json/JSONWriter.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/JSONWriter.java
rename to libresonic-main/src/main/java/org/json/JSONWriter.java
diff --git a/subsonic-main/src/main/java/org/json/XML.java b/libresonic-main/src/main/java/org/json/XML.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/XML.java
rename to libresonic-main/src/main/java/org/json/XML.java
diff --git a/subsonic-main/src/main/java/org/json/XMLTokener.java b/libresonic-main/src/main/java/org/json/XMLTokener.java
similarity index 100%
rename from subsonic-main/src/main/java/org/json/XMLTokener.java
rename to libresonic-main/src/main/java/org/json/XMLTokener.java
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/Logger.java b/libresonic-main/src/main/java/org/libresonic/player/Logger.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/Logger.java
rename to libresonic-main/src/main/java/org/libresonic/player/Logger.java
index c8ccfd9d..d764bf5d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/Logger.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/Logger.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic;
+package org.libresonic.player;
-import net.sourceforge.subsonic.domain.Version;
-import net.sourceforge.subsonic.service.*;
-import net.sourceforge.subsonic.util.*;
+import org.libresonic.player.domain.Version;
+import org.libresonic.player.service.*;
+import org.libresonic.player.util.*;
import org.apache.commons.lang.exception.*;
import java.io.*;
@@ -28,7 +29,7 @@ import java.text.*;
import java.util.*;
/**
- * Logger implementation which logs to SUBSONIC_HOME/subsonic.log.
+ * Logger implementation which logs to LIBRESONIC_HOME/libresonic.log.
*
* Note: Third party logging libraries (such as log4j and Commons logging) are intentionally not
* used. These libraries causes a lot of headache when deploying to some application servers
@@ -167,7 +168,7 @@ public class Logger {
try {
getPrintWriter().println(entry);
} catch (IOException x) {
- System.err.println("Failed to write to subsonic.log. " + x);
+ System.err.println("Failed to write to libresonic.log. " + x);
}
entries.add(entry);
}
@@ -180,8 +181,8 @@ public class Logger {
}
public static File getLogFile() {
- File subsonicHome = SettingsService.getSubsonicHome();
- return new File(subsonicHome, "subsonic.log");
+ File libresonicHome = SettingsService.getLibresonicHome();
+ return new File(libresonicHome, "libresonic.log");
}
/**
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ArtistInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/ArtistInfo.java
similarity index 78%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ArtistInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/ArtistInfo.java
index f2c0e85d..c2828fd9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ArtistInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/ArtistInfo.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* 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
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ChatService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/ChatService.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ChatService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/ChatService.java
index 8905c8a6..d5c0858e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ChatService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/ChatService.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, 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;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/CoverArtInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/CoverArtInfo.java
similarity index 72%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/CoverArtInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/CoverArtInfo.java
index c9160f26..c6ffeb41 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/CoverArtInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/CoverArtInfo.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* Contains info about cover art images for an album.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/CoverArtService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/CoverArtService.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/CoverArtService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/CoverArtService.java
index 2d9b801d..9464ecdc 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/CoverArtService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/CoverArtService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
import java.io.File;
import java.io.FileOutputStream;
@@ -30,11 +31,11 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.util.StringUtil;
/**
* Provides AJAX-enabled services for changing cover art images.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/LyricsInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/LyricsInfo.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/LyricsInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/LyricsInfo.java
index 2d8b62b1..96e99ccd 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/LyricsInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/LyricsInfo.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* Contains lyrics info for a song.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/LyricsService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/LyricsService.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/LyricsService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/LyricsService.java
index ce683b98..9ccc46a6 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/LyricsService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/LyricsService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
import java.io.IOException;
import java.io.StringReader;
@@ -34,8 +35,8 @@ import org.jdom.Element;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.util.StringUtil;
/**
* Provides AJAX-enabled services for retrieving song lyrics from chartlyrics.com.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/MultiService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/MultiService.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/MultiService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/MultiService.java
index de04b4a7..4351994d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/MultiService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/MultiService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
import java.util.ArrayList;
import java.util.Arrays;
@@ -27,16 +28,16 @@ import javax.servlet.http.HttpServletRequest;
import org.directwebremoting.WebContextFactory;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.ArtistBio;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.LastFmService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.NetworkService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.ArtistBio;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.LastFmService;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.NetworkService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Provides miscellaneous AJAX-enabled services.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NetworkStatus.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/NetworkStatus.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NetworkStatus.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/NetworkStatus.java
index 8634af26..2e1c3355 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NetworkStatus.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/NetworkStatus.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NowPlayingInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/NowPlayingInfo.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NowPlayingInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/NowPlayingInfo.java
index 0167d212..e89501f4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NowPlayingInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/NowPlayingInfo.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* Details about what a user is currently listening to.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NowPlayingService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/NowPlayingService.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NowPlayingService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/NowPlayingService.java
index b29c8491..dcbe68e4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/NowPlayingService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/NowPlayingService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
import java.io.File;
import java.util.ArrayList;
@@ -29,17 +30,17 @@ import org.apache.commons.lang.StringUtils;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.AvatarScheme;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayStatus;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.MediaScannerService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.StatusService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.AvatarScheme;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayStatus;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.MediaScannerService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.StatusService;
+import org.libresonic.player.util.StringUtil;
/**
* Provides AJAX-enabled services for retrieving the currently playing file and directory.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlayQueueInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlayQueueInfo.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlayQueueInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/PlayQueueInfo.java
index cc34e7ec..8d522cc4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlayQueueInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlayQueueInfo.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, 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.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlayQueueService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlayQueueService.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlayQueueService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/PlayQueueService.java
index 3fbabbe6..73a91d69 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlayQueueService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlayQueueService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
import java.util.ArrayList;
import java.util.Arrays;
@@ -35,29 +36,29 @@ import org.springframework.web.servlet.support.RequestContextUtils;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.dao.PlayQueueDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.domain.PodcastStatus;
-import net.sourceforge.subsonic.domain.SavedPlayQueue;
-import net.sourceforge.subsonic.domain.UrlRedirectType;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.JukeboxService;
-import net.sourceforge.subsonic.service.LastFmService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.service.RatingService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.dao.PlayQueueDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.domain.PodcastStatus;
+import org.libresonic.player.domain.SavedPlayQueue;
+import org.libresonic.player.domain.UrlRedirectType;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.JukeboxService;
+import org.libresonic.player.service.LastFmService;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.service.RatingService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.StringUtil;
/**
* Provides AJAX-enabled services for manipulating the play queue of a player.
@@ -78,7 +79,7 @@ public class PlayQueueService {
private SearchService searchService;
private RatingService ratingService;
private PodcastService podcastService;
- private net.sourceforge.subsonic.service.PlaylistService playlistService;
+ private org.libresonic.player.service.PlaylistService playlistService;
private MediaFileDao mediaFileDao;
private PlayQueueDao playQueueDao;
@@ -141,7 +142,7 @@ public class PlayQueueService {
List ids = MediaFile.toIdList(playQueue.getFiles());
Integer currentId = currentSongIndex == -1 ? null : playQueue.getFile(currentSongIndex).getId();
- SavedPlayQueue savedPlayQueue = new SavedPlayQueue(null, username, ids, currentId, positionMillis, new Date(), "Subsonic");
+ SavedPlayQueue savedPlayQueue = new SavedPlayQueue(null, username, ids, currentId, positionMillis, new Date(), "Libresonic");
playQueueDao.savePlayQueue(savedPlayQueue);
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlaylistInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlaylistInfo.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlaylistInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/PlaylistInfo.java
index dec2f57e..1aad3371 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlaylistInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlaylistInfo.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, 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.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlaylistService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlaylistService.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlaylistService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/PlaylistService.java
index 16005240..4acea50b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/PlaylistService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/PlaylistService.java
@@ -1,33 +1,34 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
-
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.i18n.SubsonicLocaleResolver;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+package org.libresonic.player.ajax;
+
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.i18n.LibresonicLocaleResolver;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
import org.directwebremoting.WebContextFactory;
import javax.servlet.http.HttpServletRequest;
@@ -50,11 +51,11 @@ public class PlaylistService {
private MediaFileService mediaFileService;
private SecurityService securityService;
- private net.sourceforge.subsonic.service.PlaylistService playlistService;
+ private org.libresonic.player.service.PlaylistService playlistService;
private MediaFileDao mediaFileDao;
private SettingsService settingsService;
private PlayerService playerService;
- private SubsonicLocaleResolver localeResolver;
+ private LibresonicLocaleResolver localeResolver;
public List getReadablePlaylists() {
HttpServletRequest request = WebContextFactory.get().getHttpServletRequest();
@@ -139,7 +140,7 @@ public class PlaylistService {
playlist.setChanged(now);
playlist.setShared(false);
- ResourceBundle bundle = ResourceBundle.getBundle("net.sourceforge.subsonic.i18n.ResourceBundle", locale);
+ ResourceBundle bundle = ResourceBundle.getBundle("org.libresonic.player.i18n.ResourceBundle", locale);
playlist.setName(bundle.getString("top.starred") + " " + dateFormat.format(now));
playlistService.createPlaylist(playlist);
@@ -236,7 +237,7 @@ public class PlaylistService {
return getPlaylist(id);
}
- public void setPlaylistService(net.sourceforge.subsonic.service.PlaylistService playlistService) {
+ public void setPlaylistService(org.libresonic.player.service.PlaylistService playlistService) {
this.playlistService = playlistService;
}
@@ -260,7 +261,7 @@ public class PlaylistService {
this.playerService = playerService;
}
- public void setLocaleResolver(SubsonicLocaleResolver localeResolver) {
+ public void setLocaleResolver(LibresonicLocaleResolver localeResolver) {
this.localeResolver = localeResolver;
}
}
\ No newline at end of file
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ScanInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/ScanInfo.java
similarity index 69%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ScanInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/ScanInfo.java
index d984069e..99afe0f1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/ScanInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/ScanInfo.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* Media folder scanning status.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/SimilarArtist.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/SimilarArtist.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/SimilarArtist.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/SimilarArtist.java
index 09d6cd1f..53125fd2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/SimilarArtist.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/SimilarArtist.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* Contains info about a similar artist.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/StarService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/StarService.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/StarService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/StarService.java
index 5d014e06..56f462a6 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/StarService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/StarService.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, 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;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TagService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/TagService.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TagService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/TagService.java
index 6814e89e..a43a0d0f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TagService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/TagService.java
@@ -1,33 +1,34 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, 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.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TopSong.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/TopSong.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TopSong.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/TopSong.java
index 8e28fcfe..acced94e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TopSong.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/TopSong.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* See {@link ArtistInfo}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TransferService.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/TransferService.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TransferService.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/TransferService.java
index 19309348..171414b4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/TransferService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/TransferService.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
-import net.sourceforge.subsonic.domain.*;
-import net.sourceforge.subsonic.controller.*;
+import org.libresonic.player.domain.*;
+import org.libresonic.player.controller.*;
import org.directwebremoting.*;
import javax.servlet.http.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/UploadInfo.java b/libresonic-main/src/main/java/org/libresonic/player/ajax/UploadInfo.java
similarity index 74%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/UploadInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/ajax/UploadInfo.java
index 47f9de99..4f1b72fd 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ajax/UploadInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ajax/UploadInfo.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ajax;
+package org.libresonic.player.ajax;
/**
* Contains status for a file upload.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/cache/CacheFactory.java b/libresonic-main/src/main/java/org/libresonic/player/cache/CacheFactory.java
similarity index 71%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/cache/CacheFactory.java
rename to libresonic-main/src/main/java/org/libresonic/player/cache/CacheFactory.java
index 00f656b1..d8606281 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/cache/CacheFactory.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/cache/CacheFactory.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.cache;
+package org.libresonic.player.cache;
import java.io.File;
@@ -28,8 +29,8 @@ import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Ehcache;
import net.sf.ehcache.config.Configuration;
import net.sf.ehcache.config.ConfigurationFactory;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.service.SettingsService;
/**
* Initializes Ehcache and creates caches.
@@ -45,8 +46,8 @@ public class CacheFactory implements InitializingBean {
public void afterPropertiesSet() throws Exception {
Configuration configuration = ConfigurationFactory.parseConfiguration();
- // Override configuration to make sure cache is stored in Subsonic home dir.
- File cacheDir = new File(SettingsService.getSubsonicHome(), "cache");
+ // Override configuration to make sure cache is stored in Libresonic home dir.
+ File cacheDir = new File(SettingsService.getLibresonicHome(), "cache");
configuration.getDiskStoreConfiguration().setPath(cacheDir.getPath());
cacheManager = CacheManager.create(configuration);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/AdvancedSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/AdvancedSettingsCommand.java
similarity index 63%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/AdvancedSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/AdvancedSettingsCommand.java
index 402bd3bb..eaad28af 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/AdvancedSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/AdvancedSettingsCommand.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.controller.AdvancedSettingsController;
+import org.libresonic.player.controller.AdvancedSettingsController;
/**
* Command used in {@link AdvancedSettingsController}.
@@ -39,6 +40,13 @@ public class AdvancedSettingsCommand {
private boolean isReloadNeeded;
private boolean toast;
+ private String smtpServer;
+ private String smtpEncryption;
+ private String smtpPort;
+ private String smtpUser;
+ private String smtpPassword;
+ private String smtpFrom;
+
public String getDownloadLimit() {
return downloadLimit;
}
@@ -126,4 +134,52 @@ public class AdvancedSettingsCommand {
public void setToast(boolean toast) {
this.toast = toast;
}
+
+ public String getSmtpServer() {
+ return smtpServer;
+ }
+
+ public void setSmtpServer(String smtpServer) {
+ this.smtpServer = smtpServer;
+ }
+
+ public String getSmtpEncryption() {
+ return smtpEncryption;
+ }
+
+ public void setSmtpEncryption(String smtpEncryption) {
+ this.smtpEncryption = smtpEncryption;
+ }
+
+ public String getSmtpPort() {
+ return smtpPort;
+ }
+
+ public void setSmtpPort(String smtpPort) {
+ this.smtpPort = smtpPort;
+ }
+
+ public String getSmtpUser() {
+ return smtpUser;
+ }
+
+ public void setSmtpUser(String smtpUser) {
+ this.smtpUser = smtpUser;
+ }
+
+ public String getSmtpPassword() {
+ return smtpPassword;
+ }
+
+ public void setSmtpPassword(String smtpPassword) {
+ this.smtpPassword = smtpPassword;
+ }
+
+ public String getSmtpFrom() {
+ return smtpFrom;
+ }
+
+ public void setSmtpFrom(String smtpFrom) {
+ this.smtpFrom = smtpFrom;
+ }
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/EnumHolder.java b/libresonic-main/src/main/java/org/libresonic/player/command/EnumHolder.java
similarity index 70%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/EnumHolder.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/EnumHolder.java
index bb1fc5ff..7a25abaa 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/EnumHolder.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/EnumHolder.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
/**
* Holds the name and description of an enum value.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/GeneralSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/GeneralSettingsCommand.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/GeneralSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/GeneralSettingsCommand.java
index ade1c501..52ffbd47 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/GeneralSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/GeneralSettingsCommand.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.controller.GeneralSettingsController;
-import net.sourceforge.subsonic.domain.Theme;
+import org.libresonic.player.controller.GeneralSettingsController;
+import org.libresonic.player.domain.Theme;
/**
* Command used in {@link GeneralSettingsController}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/MusicFolderSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/MusicFolderSettingsCommand.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/MusicFolderSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/MusicFolderSettingsCommand.java
index 8fcfa72c..1c45816e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/MusicFolderSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/MusicFolderSettingsCommand.java
@@ -1,29 +1,30 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
import java.io.File;
import java.util.Date;
import java.util.List;
-import net.sourceforge.subsonic.controller.MusicFolderSettingsController;
-import net.sourceforge.subsonic.domain.MusicFolder;
+import org.libresonic.player.controller.MusicFolderSettingsController;
+import org.libresonic.player.domain.MusicFolder;
import org.apache.commons.lang.StringUtils;
/**
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/NetworkSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/NetworkSettingsCommand.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/NetworkSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/NetworkSettingsCommand.java
index 3b9b3aa7..67fe762b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/NetworkSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/NetworkSettingsCommand.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.domain.LicenseInfo;
+import org.libresonic.player.domain.LicenseInfo;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PasswordSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/PasswordSettingsCommand.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/PasswordSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/PasswordSettingsCommand.java
index 21986023..8f12e554 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PasswordSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/PasswordSettingsCommand.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.controller.*;
+import org.libresonic.player.controller.*;
/**
* Command used in {@link PasswordSettingsController}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PersonalSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/PersonalSettingsCommand.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/PersonalSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/PersonalSettingsCommand.java
index 28098f9a..bea8cd23 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PersonalSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/PersonalSettingsCommand.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
import java.util.List;
-import net.sourceforge.subsonic.controller.PersonalSettingsController;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.Avatar;
-import net.sourceforge.subsonic.domain.Theme;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
+import org.libresonic.player.controller.PersonalSettingsController;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.Avatar;
+import org.libresonic.player.domain.Theme;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
/**
* Command used in {@link PersonalSettingsController}.
@@ -56,6 +57,7 @@ public class PersonalSettingsCommand {
private boolean songNotificationEnabled;
private boolean queueFollowingSongs;
private boolean lastFmEnabled;
+ private int listReloadDelay;
private String lastFmUsername;
private String lastFmPassword;
private boolean isReloadNeeded;
@@ -236,6 +238,14 @@ public class PersonalSettingsCommand {
this.lastFmEnabled = lastFmEnabled;
}
+ public int getListReloadDelay() {
+ return listReloadDelay;
+ }
+
+ public void setListReloadDelay(int listReloadDelay) {
+ this.listReloadDelay = listReloadDelay;
+ }
+
public String getLastFmUsername() {
return lastFmUsername;
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PlayerSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/PlayerSettingsCommand.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/PlayerSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/PlayerSettingsCommand.java
index 9ee354ec..89260232 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PlayerSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/PlayerSettingsCommand.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
import java.util.Date;
import java.util.List;
-import net.sourceforge.subsonic.controller.PlayerSettingsController;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PlayerTechnology;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.Transcoding;
+import org.libresonic.player.controller.PlayerSettingsController;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PlayerTechnology;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.Transcoding;
/**
* Command used in {@link PlayerSettingsController}.
@@ -40,6 +41,7 @@ public class PlayerSettingsCommand {
private Date lastSeen;
private boolean isDynamicIp;
private boolean isAutoControlEnabled;
+ private boolean isM3uBomEnabled;
private String technologyName;
private String transcodeSchemeName;
private boolean transcodingSupported;
@@ -108,6 +110,14 @@ public class PlayerSettingsCommand {
isAutoControlEnabled = autoControlEnabled;
}
+ public boolean isM3uBomEnabled() {
+ return isM3uBomEnabled;
+ }
+
+ public void setM3uBomEnabled(boolean m3uBomEnabled) {
+ isM3uBomEnabled = m3uBomEnabled;
+ }
+
public String getTranscodeSchemeName() {
return transcodeSchemeName;
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PodcastSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/PodcastSettingsCommand.java
similarity index 78%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/PodcastSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/PodcastSettingsCommand.java
index 3a07cd14..bfe5a136 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PodcastSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/PodcastSettingsCommand.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.controller.PodcastSettingsController;
+import org.libresonic.player.controller.PodcastSettingsController;
/**
* Command used in {@link PodcastSettingsController}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PremiumSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/PremiumSettingsCommand.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/PremiumSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/PremiumSettingsCommand.java
index 92b10c67..f20014dc 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/PremiumSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/PremiumSettingsCommand.java
@@ -1,28 +1,29 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
import org.apache.commons.lang.StringUtils;
-import net.sourceforge.subsonic.controller.PremiumSettingsController;
-import net.sourceforge.subsonic.domain.LicenseInfo;
-import net.sourceforge.subsonic.domain.User;
+import org.libresonic.player.controller.PremiumSettingsController;
+import org.libresonic.player.domain.LicenseInfo;
+import org.libresonic.player.domain.User;
/**
* Command used in {@link PremiumSettingsController}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/SearchCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/SearchCommand.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/SearchCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/SearchCommand.java
index 0dacfbd4..109dbee8 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/SearchCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/SearchCommand.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.domain.*;
-import net.sourceforge.subsonic.controller.*;
+import org.libresonic.player.domain.*;
+import org.libresonic.player.controller.*;
import java.util.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/UserSettingsCommand.java b/libresonic-main/src/main/java/org/libresonic/player/command/UserSettingsCommand.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/command/UserSettingsCommand.java
rename to libresonic-main/src/main/java/org/libresonic/player/command/UserSettingsCommand.java
index 2acff8be..e10bbc7c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/command/UserSettingsCommand.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/command/UserSettingsCommand.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.command;
+package org.libresonic.player.command;
-import net.sourceforge.subsonic.controller.UserSettingsController;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.User;
+import org.libresonic.player.controller.UserSettingsController;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.User;
import java.util.List;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AbstractChartController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/AbstractChartController.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AbstractChartController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/AbstractChartController.java
index f163f82d..eb5f9eed 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AbstractChartController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/AbstractChartController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import org.springframework.web.servlet.support.*;
import org.springframework.web.servlet.mvc.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AdvancedSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/AdvancedSettingsController.java
similarity index 69%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AdvancedSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/AdvancedSettingsController.java
index 0228a6fb..3622bedc 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AdvancedSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/AdvancedSettingsController.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.command.AdvancedSettingsCommand;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.AdvancedSettingsCommand;
+import org.libresonic.player.service.SettingsService;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.apache.commons.lang.StringUtils;
@@ -46,6 +47,12 @@ public class AdvancedSettingsController extends SimpleFormController {
command.setLdapAutoShadowing(settingsService.isLdapAutoShadowing());
command.setBrand(settingsService.getBrand());
+ command.setSmtpServer(settingsService.getSmtpServer());
+ command.setSmtpEncryption(settingsService.getSmtpEncryption());
+ command.setSmtpPort(settingsService.getSmtpPort());
+ command.setSmtpUser(settingsService.getSmtpUser());
+ command.setSmtpFrom(settingsService.getSmtpFrom());
+
return command;
}
@@ -73,6 +80,16 @@ public class AdvancedSettingsController extends SimpleFormController {
settingsService.setLdapManagerPassword(command.getLdapManagerPassword());
}
+ settingsService.setSmtpServer(command.getSmtpServer());
+ settingsService.setSmtpEncryption(command.getSmtpEncryption());
+ settingsService.setSmtpPort(command.getSmtpPort());
+ settingsService.setSmtpUser(command.getSmtpUser());
+ settingsService.setSmtpFrom(command.getSmtpFrom());
+
+ if (StringUtils.isNotEmpty(command.getSmtpPassword())) {
+ settingsService.setSmtpPassword(command.getSmtpPassword());
+ }
+
settingsService.save();
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AllmusicController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/AllmusicController.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AllmusicController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/AllmusicController.java
index 8b34f383..ec1d1012 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AllmusicController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/AllmusicController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.mvc.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AutoCoverDemo.java b/libresonic-main/src/main/java/org/libresonic/player/controller/AutoCoverDemo.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AutoCoverDemo.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/AutoCoverDemo.java
index e110c438..0992634b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AutoCoverDemo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/AutoCoverDemo.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2013 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2013 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.awt.Color;
import java.awt.Dimension;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AvatarController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/AvatarController.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AvatarController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/AvatarController.java
index 2d4f9d3d..a8f10951 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AvatarController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/AvatarController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -26,10 +27,10 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.mvc.LastModified;
-import net.sourceforge.subsonic.domain.Avatar;
-import net.sourceforge.subsonic.domain.AvatarScheme;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.Avatar;
+import org.libresonic.player.domain.AvatarScheme;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.SettingsService;
/**
* Controller which produces avatar images.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AvatarUploadController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/AvatarUploadController.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AvatarUploadController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/AvatarUploadController.java
index a22cd9a9..1c829ba9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/AvatarUploadController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/AvatarUploadController.java
@@ -1,28 +1,29 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.Avatar;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.Avatar;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.StringUtil;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ChangeCoverArtController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ChangeCoverArtController.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ChangeCoverArtController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ChangeCoverArtController.java
index 94c88656..9e977ea2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ChangeCoverArtController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ChangeCoverArtController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -28,8 +29,8 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.service.MediaFileService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.service.MediaFileService;
/**
* Controller for changing cover art.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/CoverArtController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/CoverArtController.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/CoverArtController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/CoverArtController.java
index 22f386d5..239bc225 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/CoverArtController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/CoverArtController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.awt.Color;
import java.awt.Font;
@@ -49,24 +50,24 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.mvc.LastModified;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.AlbumDao;
-import net.sourceforge.subsonic.dao.ArtistDao;
-import net.sourceforge.subsonic.domain.Album;
-import net.sourceforge.subsonic.domain.Artist;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.PodcastChannel;
-import net.sourceforge.subsonic.domain.Transcoding;
-import net.sourceforge.subsonic.domain.VideoTranscodingSettings;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.service.metadata.JaudiotaggerParser;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.AlbumDao;
+import org.libresonic.player.dao.ArtistDao;
+import org.libresonic.player.domain.Album;
+import org.libresonic.player.domain.Artist;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.PodcastChannel;
+import org.libresonic.player.domain.Transcoding;
+import org.libresonic.player.domain.VideoTranscodingSettings;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.service.metadata.JaudiotaggerParser;
+import org.libresonic.player.util.StringUtil;
/**
* Controller which produces cover art images.
@@ -298,7 +299,7 @@ public class CoverArtController implements Controller, LastModified {
}
private synchronized File getImageCacheDirectory(int size) {
- File dir = new File(SettingsService.getSubsonicHome(), "thumbs");
+ File dir = new File(SettingsService.getLibresonicHome(), "thumbs");
dir = new File(dir, String.valueOf(size));
if (!dir.exists()) {
if (dir.mkdirs()) {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DBController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/DBController.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DBController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/DBController.java
index 17d06497..594221f8 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DBController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/DBController.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.dao.DaoHelper;
+import org.libresonic.player.dao.DaoHelper;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.ColumnMapRowMapper;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DLNASettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/DLNASettingsController.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DLNASettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/DLNASettingsController.java
index 5eaa45d2..8995c462 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DLNASettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/DLNASettingsController.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2013 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -29,8 +29,8 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.UPnPService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.UPnPService;
/**
* Controller for the page used to administrate the UPnP/DLNA server settings.
@@ -75,7 +75,7 @@ public class DLNASettingsController extends ParameterizableViewController {
boolean dlnaEnabled = ServletRequestUtils.getBooleanParameter(request, "dlnaEnabled", false);
String dlnaServerName = StringUtils.trimToNull(request.getParameter("dlnaServerName"));
if (dlnaServerName == null) {
- dlnaServerName = "Subsonic";
+ dlnaServerName = "Libresonic";
}
upnpService.setMediaServerEnabled(false);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DownloadController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/DownloadController.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DownloadController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/DownloadController.java
index f207feb4..86650bfb 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/DownloadController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/DownloadController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.BufferedInputStream;
import java.io.File;
@@ -43,23 +44,23 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.mvc.LastModified;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.io.RangeOutputStream;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.StatusService;
-import net.sourceforge.subsonic.util.FileUtil;
-import net.sourceforge.subsonic.util.HttpRange;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.TransferStatus;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.io.RangeOutputStream;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.StatusService;
+import org.libresonic.player.util.FileUtil;
+import org.libresonic.player.util.HttpRange;
+import org.libresonic.player.util.Util;
/**
* A controller used for downloading files to a remote client. If the requested path refers to a file, the
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/EditTagsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/EditTagsController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/EditTagsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/EditTagsController.java
index 9b7befd9..19f5365d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/EditTagsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/EditTagsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.ArrayList;
import java.util.HashMap;
@@ -31,11 +32,11 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.metadata.JaudiotaggerParser;
-import net.sourceforge.subsonic.service.metadata.MetaDataParser;
-import net.sourceforge.subsonic.service.metadata.MetaDataParserFactory;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.metadata.JaudiotaggerParser;
+import org.libresonic.player.service.metadata.MetaDataParser;
+import org.libresonic.player.service.metadata.MetaDataParserFactory;
/**
* Controller for the page used to edit MP3 tags.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ExternalPlayerController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ExternalPlayerController.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ExternalPlayerController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ExternalPlayerController.java
index 31a20209..a58dbe5d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ExternalPlayerController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ExternalPlayerController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.IOException;
import java.util.ArrayList;
@@ -31,14 +32,14 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Share;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.ShareService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Share;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.ShareService;
/**
* Controller for the page used to play shared music (Twitter, Facebook etc).
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/GeneralSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/GeneralSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java
index e3e43432..9c1b5ffb 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/GeneralSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/GeneralSettingsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.Locale;
@@ -24,9 +25,9 @@ import javax.servlet.http.HttpServletRequest;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.command.GeneralSettingsCommand;
-import net.sourceforge.subsonic.domain.Theme;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.GeneralSettingsCommand;
+import org.libresonic.player.domain.Theme;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the page used to administrate general settings.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HLSController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HLSController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java
index 13b1b19b..04cf4f52 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HLSController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/HLSController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.awt.Dimension;
import java.io.PrintWriter;
@@ -33,13 +34,13 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.util.Pair;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.util.Pair;
+import org.libresonic.player.util.StringUtil;
/**
* Controller which produces the HLS (Http Live Streaming) playlist.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HelpController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/HelpController.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HelpController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/HelpController.java
index 276c0f27..24f0c27a 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HelpController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/HelpController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -27,10 +28,10 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.VersionService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.VersionService;
/**
* Controller for the help page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HomeController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/HomeController.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HomeController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/HomeController.java
index 4ef59d2c..c6b0ef68 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/HomeController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/HomeController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.IOException;
import java.util.ArrayList;
@@ -34,19 +35,19 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.Genre;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.MediaScannerService;
-import net.sourceforge.subsonic.service.RatingService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.Genre;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.MediaScannerService;
+import org.libresonic.player.service.RatingService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
import static org.springframework.web.bind.ServletRequestUtils.getIntParameter;
import static org.springframework.web.bind.ServletRequestUtils.getStringParameter;
@@ -75,8 +76,8 @@ public class HomeController extends ParameterizableViewController {
}
int listOffset = getIntParameter(request, "listOffset", 0);
AlbumListType listType = AlbumListType.fromId(getStringParameter(request, "listType"));
+ UserSettings userSettings = settingsService.getUserSettings(user.getUsername());
if (listType == null) {
- UserSettings userSettings = settingsService.getUserSettings(user.getUsername());
listType = userSettings.getDefaultAlbumList();
}
@@ -139,6 +140,7 @@ public class HomeController extends ParameterizableViewController {
map.put("coverArtSize", CoverArtScheme.MEDIUM.getSize());
map.put("listOffset", listOffset);
map.put("musicFolder", selectedMusicFolder);
+ map.put("listReloadDelay", userSettings.getListReloadDelay());
ModelAndView result = super.handleRequestInternal(request, response);
result.addObject("model", map);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ImportPlaylistController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ImportPlaylistController.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ImportPlaylistController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ImportPlaylistController.java
index 2c59a386..3f44959a 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ImportPlaylistController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ImportPlaylistController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.List;
@@ -34,9 +35,9 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/InternetRadioSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/InternetRadioSettingsController.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/InternetRadioSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/InternetRadioSettingsController.java
index 13026147..649605b9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/InternetRadioSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/InternetRadioSettingsController.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.domain.InternetRadio;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.InternetRadio;
+import org.libresonic.player.service.SettingsService;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/JAXBWriter.java b/libresonic-main/src/main/java/org/libresonic/player/controller/JAXBWriter.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/JAXBWriter.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/JAXBWriter.java
index 79b063d5..7a6c8579 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/JAXBWriter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/JAXBWriter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.InputStream;
import java.io.StringWriter;
@@ -36,13 +37,13 @@ import org.eclipse.persistence.jaxb.MarshallerProperties;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.input.SAXBuilder;
-import org.subsonic.restapi.Error;
-import org.subsonic.restapi.ObjectFactory;
-import org.subsonic.restapi.Response;
-import org.subsonic.restapi.ResponseStatus;
+import org.libresonic.restapi.Error;
+import org.libresonic.restapi.ObjectFactory;
+import org.libresonic.restapi.Response;
+import org.libresonic.restapi.ResponseStatus;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.util.StringUtil;
import static org.springframework.web.bind.ServletRequestUtils.getStringParameter;
@@ -87,7 +88,7 @@ public class JAXBWriter {
private String getRESTProtocolVersion() throws Exception {
InputStream in = null;
try {
- in = StringUtil.class.getResourceAsStream("/subsonic-rest-api.xsd");
+ in = StringUtil.class.getResourceAsStream("/libresonic-rest-api.xsd");
Document document = new SAXBuilder().build(in);
Attribute version = document.getRootElement().getAttribute("version");
return version.getValue();
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/LeftController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/LeftController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/LeftController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/LeftController.java
index 881f98a8..c78490b5 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/LeftController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/LeftController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.File;
import java.util.Arrays;
@@ -34,18 +35,18 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
import org.springframework.web.servlet.support.RequestContextUtils;
-import net.sourceforge.subsonic.domain.InternetRadio;
-import net.sourceforge.subsonic.domain.MediaLibraryStatistics;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.MusicFolderContent;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.MediaScannerService;
-import net.sourceforge.subsonic.service.MusicIndexService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.FileUtil;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.InternetRadio;
+import org.libresonic.player.domain.MediaLibraryStatistics;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.MusicFolderContent;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.MediaScannerService;
+import org.libresonic.player.service.MusicIndexService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.FileUtil;
+import org.libresonic.player.util.StringUtil;
/**
* Controller for the left index frame.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/LyricsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/LyricsController.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/LyricsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/LyricsController.java
index d47ad233..838dcae0 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/LyricsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/LyricsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
import org.springframework.web.servlet.ModelAndView;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/M3UController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/M3UController.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/M3UController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/M3UController.java
index 63d27611..e04cd4ad 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/M3UController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/M3UController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.IOException;
import java.io.PrintWriter;
@@ -28,13 +29,13 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.StringUtil;
/**
* Controller which produces the M3U playlist.
@@ -73,6 +74,9 @@ public class M3UController implements Controller {
}
private void createClientSidePlaylist(PrintWriter out, Player player, String url) throws Exception {
+ if (player.isM3uBomEnabled()) {
+ out.print("\ufeff");
+ }
out.println("#EXTM3U");
List result;
synchronized (player.getPlayQueue()) {
@@ -98,8 +102,11 @@ public class M3UController implements Controller {
url += "&suffix=." + suffix;
}
+ if (player.isM3uBomEnabled()) {
+ out.print("\ufeff");
+ }
out.println("#EXTM3U");
- out.println("#EXTINF:-1,Subsonic");
+ out.println("#EXTINF:-1,Libresonic");
out.println(url);
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MainController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/MainController.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MainController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/MainController.java
index a70025bb..68217c85 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MainController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/MainController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.IOException;
import java.util.ArrayList;
@@ -36,18 +37,18 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MediaFileComparator;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.AdService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.RatingService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MediaFileComparator;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.AdService;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.RatingService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the main page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MoreController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/MoreController.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MoreController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/MoreController.java
index 1361e1c9..5b7a3c99 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MoreController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/MoreController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.File;
import java.util.Calendar;
@@ -30,14 +31,14 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.StringUtil;
/**
* Controller for the "more" page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MultiController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/MultiController.java
similarity index 70%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MultiController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/MultiController.java
index efb97464..883e7670 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MultiController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/MultiController.java
@@ -1,54 +1,56 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
+import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.mail.Message;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.message.BasicNameValuePair;
-import org.apache.http.params.HttpConnectionParams;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.StringUtil;
import net.tanesha.recaptcha.ReCaptcha;
import net.tanesha.recaptcha.ReCaptchaFactory;
import net.tanesha.recaptcha.ReCaptchaResponse;
@@ -135,33 +137,65 @@ public class MultiController extends MultiActionController {
return new ModelAndView("recover", "model", map);
}
+ /*
+ * e-mail user new password via configured Smtp server
+ */
private boolean emailPassword(String password, String username, String email) {
- HttpClient client = new DefaultHttpClient();
+ /* Default to protocol smtp when SmtpEncryption is set to "None" */
+ String prot = "smtp";
+
+ if (settingsService.getSmtpServer() == null || settingsService.getSmtpServer().isEmpty()) {
+ LOG.warn("Can not send email; no Smtp server configured.");
+ return false;
+ }
+
+ Properties props = new Properties();
+ if (settingsService.getSmtpEncryption().equals("SSL/TLS")) {
+ prot = "smtps";
+ props.put("mail." + prot + ".ssl.enable", "true");
+ } else if (settingsService.getSmtpEncryption().equals("STARTTLS")) {
+ prot = "smtp";
+ props.put("mail." + prot + ".starttls.enable", "true");
+ }
+ props.put("mail." + prot + ".host", settingsService.getSmtpServer());
+ props.put("mail." + prot + ".port", settingsService.getSmtpPort());
+ /* use authentication when SmtpUser is configured */
+ if (settingsService.getSmtpUser() != null && !settingsService.getSmtpUser().isEmpty()) {
+ props.put("mail." + prot + ".auth", "true");
+ }
+
+ Session session = Session.getInstance(props, null);
+
try {
- HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
- HttpConnectionParams.setSoTimeout(client.getParams(), 10000);
- HttpPost method = new HttpPost("http://subsonic.org/backend/sendMail.view");
-
- List params = new ArrayList();
- params.add(new BasicNameValuePair("from", "noreply@subsonic.org"));
- params.add(new BasicNameValuePair("to", email));
- params.add(new BasicNameValuePair("subject", "Subsonic Password"));
- params.add(new BasicNameValuePair("text",
- "Hi there!\n\n" +
- "You have requested to reset your Subsonic password. Please find your new login details below.\n\n" +
- "Username: " + username + "\n" +
- "Password: " + password + "\n\n" +
- "--\n" +
- "The Subsonic Team\n" +
- "subsonic.org"));
- method.setEntity(new UrlEncodedFormEntity(params, StringUtil.ENCODING_UTF8));
- client.execute(method);
+ Message message = new MimeMessage(session);
+ message.setFrom(new InternetAddress(settingsService.getSmtpFrom()));
+ message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(email));
+ message.setSubject("Libresonic Password");
+ message.setText("Hi there!\n\n" +
+ "You have requested to reset your Libresonic password. Please find your new login details below.\n\n" +
+ "Username: " + username + "\n" +
+ "Password: " + password + "\n\n" +
+ "--\n" +
+ "Your Libresonic server\n" +
+ "libresonic.org");
+ message.setSentDate(new Date());
+
+ Transport trans = session.getTransport(prot);
+ try {
+ if (props.get("mail." + prot + ".auth") != null && props.get("mail." + prot + ".auth").equals("true")) {
+ trans.connect(settingsService.getSmtpServer(), settingsService.getSmtpUser(), settingsService.getSmtpPassword());
+ } else {
+ trans.connect();
+ }
+ trans.sendMessage(message, message.getAllRecipients());
+ } finally {
+ trans.close();
+ }
return true;
+
} catch (Exception x) {
LOG.warn("Failed to send email.", x);
return false;
- } finally {
- client.getConnectionManager().shutdown();
}
}
@@ -205,6 +239,7 @@ public class MultiController extends MultiActionController {
Map map = new HashMap();
map.put("showRight", userSettings.isShowNowPlayingEnabled() || userSettings.isShowChatEnabled());
map.put("autoHidePlayQueue", userSettings.isAutoHidePlayQueue());
+ map.put("listReloadDelay", userSettings.getListReloadDelay());
map.put("showSideBar", userSettings.isShowSideBar());
map.put("brand", settingsService.getBrand());
return new ModelAndView("index", "model", map);
@@ -228,8 +263,8 @@ public class MultiController extends MultiActionController {
private void updatePortAndContextPath(HttpServletRequest request) {
- int port = Integer.parseInt(System.getProperty("subsonic.port", String.valueOf(request.getLocalPort())));
- int httpsPort = Integer.parseInt(System.getProperty("subsonic.httpsPort", "0"));
+ int port = Integer.parseInt(System.getProperty("libresonic.port", String.valueOf(request.getLocalPort())));
+ int httpsPort = Integer.parseInt(System.getProperty("libresonic.httpsPort", "0"));
String contextPath = request.getContextPath().replace("/", "");
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MusicFolderSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/MusicFolderSettingsController.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MusicFolderSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/MusicFolderSettingsController.java
index 60f00ac4..eaef1b65 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/MusicFolderSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/MusicFolderSettingsController.java
@@ -1,30 +1,31 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
-
-import net.sourceforge.subsonic.command.MusicFolderSettingsCommand;
-import net.sourceforge.subsonic.dao.AlbumDao;
-import net.sourceforge.subsonic.dao.ArtistDao;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.service.MediaScannerService;
-import net.sourceforge.subsonic.service.SettingsService;
+package org.libresonic.player.controller;
+
+import org.libresonic.player.command.MusicFolderSettingsCommand;
+import org.libresonic.player.dao.AlbumDao;
+import org.libresonic.player.dao.ArtistDao;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.service.MediaScannerService;
+import org.libresonic.player.service.SettingsService;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/NetworkSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/NetworkSettingsController.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/NetworkSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/NetworkSettingsController.java
index 76a043fa..08824ccf 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/NetworkSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/NetworkSettingsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.Random;
@@ -25,10 +26,10 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.command.NetworkSettingsCommand;
-import net.sourceforge.subsonic.domain.UrlRedirectType;
-import net.sourceforge.subsonic.service.NetworkService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.NetworkSettingsCommand;
+import org.libresonic.player.domain.UrlRedirectType;
+import org.libresonic.player.service.NetworkService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the page used to change the network settings.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/NowPlayingController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/NowPlayingController.java
similarity index 75%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/NowPlayingController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/NowPlayingController.java
index 93e2131e..1a634bde 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/NowPlayingController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/NowPlayingController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.List;
@@ -27,12 +28,12 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.StatusService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.TransferStatus;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.StatusService;
/**
* Controller for showing what's currently playing.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PasswordSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PasswordSettingsController.java
similarity index 76%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PasswordSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PasswordSettingsController.java
index b30e510f..3fb1e1ce 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PasswordSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PasswordSettingsController.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import org.springframework.web.servlet.mvc.*;
-import net.sourceforge.subsonic.service.*;
-import net.sourceforge.subsonic.command.*;
-import net.sourceforge.subsonic.domain.*;
+import org.libresonic.player.service.*;
+import org.libresonic.player.command.*;
+import org.libresonic.player.domain.*;
import javax.servlet.http.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PersonalSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PersonalSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java
index 5348493e..e772c224 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PersonalSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PersonalSettingsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.Date;
import java.util.Locale;
@@ -26,14 +27,14 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.command.PersonalSettingsCommand;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.AvatarScheme;
-import net.sourceforge.subsonic.domain.Theme;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.PersonalSettingsCommand;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.AvatarScheme;
+import org.libresonic.player.domain.Theme;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the page used to administrate per-user settings.
@@ -72,6 +73,7 @@ public class PersonalSettingsController extends SimpleFormController {
command.setBetaVersionNotificationEnabled(userSettings.isBetaVersionNotificationEnabled());
command.setSongNotificationEnabled(userSettings.isSongNotificationEnabled());
command.setAutoHidePlayQueue(userSettings.isAutoHidePlayQueue());
+ command.setListReloadDelay(userSettings.getListReloadDelay());
command.setLastFmEnabled(userSettings.isLastFmEnabled());
command.setLastFmUsername(userSettings.getLastFmUsername());
command.setLastFmPassword(userSettings.getLastFmPassword());
@@ -134,6 +136,7 @@ public class PersonalSettingsController extends SimpleFormController {
settings.setBetaVersionNotificationEnabled(command.isBetaVersionNotificationEnabled());
settings.setSongNotificationEnabled(command.isSongNotificationEnabled());
settings.setAutoHidePlayQueue(command.isAutoHidePlayQueue());
+ settings.setListReloadDelay(command.getListReloadDelay());
settings.setLastFmEnabled(command.isLastFmEnabled());
settings.setLastFmUsername(command.getLastFmUsername());
settings.setSystemAvatarId(getSystemAvatarId(command));
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlayQueueController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PlayQueueController.java
similarity index 78%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlayQueueController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PlayQueueController.java
index 8952bb6b..069660e4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlayQueueController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PlayQueueController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -27,12 +28,12 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the playlist frame.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlayerSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PlayerSettingsController.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlayerSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PlayerSettingsController.java
index ef2a7598..2a6d5d28 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlayerSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PlayerSettingsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.ArrayList;
import java.util.List;
@@ -26,15 +27,15 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.command.PlayerSettingsCommand;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PlayerTechnology;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.Transcoding;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.TranscodingService;
+import org.libresonic.player.command.PlayerSettingsCommand;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PlayerTechnology;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.Transcoding;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.TranscodingService;
/**
* Controller for the player settings page.
@@ -71,6 +72,7 @@ public class PlayerSettingsController extends SimpleFormController {
command.setLastSeen(player.getLastSeen());
command.setDynamicIp(player.isDynamicIp());
command.setAutoControlEnabled(player.isAutoControlEnabled());
+ command.setM3uBomEnabled(player.isM3uBomEnabled());
command.setTranscodeSchemeName(player.getTranscodeScheme().name());
command.setTechnologyName(player.getTechnology().name());
command.setAllTranscodings(transcodingService.getAllTranscodings());
@@ -98,6 +100,7 @@ public class PlayerSettingsController extends SimpleFormController {
Player player = playerService.getPlayerById(command.getPlayerId());
player.setAutoControlEnabled(command.isAutoControlEnabled());
+ player.setM3uBomEnabled(command.isM3uBomEnabled());
player.setDynamicIp(command.isDynamicIp());
player.setName(StringUtils.trimToNull(command.getName()));
player.setTranscodeScheme(TranscodeScheme.valueOf(command.getTranscodeSchemeName()));
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlaylistController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PlaylistController.java
similarity index 78%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlaylistController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PlaylistController.java
index 6cf24405..138ba550 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlaylistController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PlaylistController.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
-
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+package org.libresonic.player.controller;
+
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlaylistsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PlaylistsController.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlaylistsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PlaylistsController.java
index d00322cb..3afbb1f1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PlaylistsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PlaylistsController.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.List;
@@ -30,14 +30,14 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the playlists page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastChannelController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastChannelController.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastChannelController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PodcastChannelController.java
index 4ef0d92b..8ddbb583 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastChannelController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastChannelController.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -29,8 +29,8 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.service.SecurityService;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.service.SecurityService;
/**
* Controller for the "Podcast channel" page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastChannelsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastChannelsController.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastChannelsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PodcastChannelsController.java
index 2e044ef2..1dff8955 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastChannelsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastChannelsController.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -29,11 +29,11 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.PodcastChannel;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.PodcastChannel;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the "Podcast channels" page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastController.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PodcastController.java
index a3f1467b..929f679e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastController.java
@@ -1,29 +1,30 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
-
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.StringUtil;
+package org.libresonic.player.controller;
+
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.StringUtil;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastReceiverAdminController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastReceiverAdminController.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastReceiverAdminController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PodcastReceiverAdminController.java
index 20224823..7c7858c2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastReceiverAdminController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastReceiverAdminController.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.domain.PodcastStatus;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.domain.PodcastStatus;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.util.StringUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastSettingsController.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PodcastSettingsController.java
index 85be43d8..3608b2f2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PodcastSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PodcastSettingsController.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.command.PodcastSettingsCommand;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.command.PodcastSettingsCommand;
import javax.servlet.http.HttpServletRequest;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PremiumSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/PremiumSettingsController.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PremiumSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/PremiumSettingsController.java
index 9add5d32..39c29a6c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/PremiumSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/PremiumSettingsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.Date;
@@ -27,9 +28,9 @@ import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.command.PremiumSettingsCommand;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.PremiumSettingsCommand;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the Subsonic Premium page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ProxyController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ProxyController.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ProxyController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ProxyController.java
index 9535e059..06691f1e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ProxyController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ProxyController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.InputStream;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RESTController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/RESTController.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RESTController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/RESTController.java
index 255608bc..6d99031f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RESTController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/RESTController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.ArrayList;
import java.util.Collections;
@@ -37,109 +38,109 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
-import org.subsonic.restapi.AlbumID3;
-import org.subsonic.restapi.AlbumList;
-import org.subsonic.restapi.AlbumList2;
-import org.subsonic.restapi.AlbumWithSongsID3;
-import org.subsonic.restapi.ArtistID3;
-import org.subsonic.restapi.ArtistInfo;
-import org.subsonic.restapi.ArtistInfo2;
-import org.subsonic.restapi.ArtistWithAlbumsID3;
-import org.subsonic.restapi.ArtistsID3;
-import org.subsonic.restapi.Bookmarks;
-import org.subsonic.restapi.ChatMessage;
-import org.subsonic.restapi.ChatMessages;
-import org.subsonic.restapi.Child;
-import org.subsonic.restapi.Directory;
-import org.subsonic.restapi.Genres;
-import org.subsonic.restapi.Index;
-import org.subsonic.restapi.IndexID3;
-import org.subsonic.restapi.Indexes;
-import org.subsonic.restapi.InternetRadioStation;
-import org.subsonic.restapi.InternetRadioStations;
-import org.subsonic.restapi.JukeboxPlaylist;
-import org.subsonic.restapi.JukeboxStatus;
-import org.subsonic.restapi.License;
-import org.subsonic.restapi.Lyrics;
-import org.subsonic.restapi.MediaType;
-import org.subsonic.restapi.MusicFolders;
-import org.subsonic.restapi.NewestPodcasts;
-import org.subsonic.restapi.NowPlaying;
-import org.subsonic.restapi.NowPlayingEntry;
-import org.subsonic.restapi.PlaylistWithSongs;
-import org.subsonic.restapi.Playlists;
-import org.subsonic.restapi.PodcastStatus;
-import org.subsonic.restapi.Podcasts;
-import org.subsonic.restapi.Response;
-import org.subsonic.restapi.SearchResult2;
-import org.subsonic.restapi.SearchResult3;
-import org.subsonic.restapi.Shares;
-import org.subsonic.restapi.SimilarSongs;
-import org.subsonic.restapi.SimilarSongs2;
-import org.subsonic.restapi.Songs;
-import org.subsonic.restapi.Starred;
-import org.subsonic.restapi.Starred2;
-import org.subsonic.restapi.TopSongs;
-import org.subsonic.restapi.Users;
-import org.subsonic.restapi.Videos;
-
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.ajax.ChatService;
-import net.sourceforge.subsonic.ajax.LyricsInfo;
-import net.sourceforge.subsonic.ajax.LyricsService;
-import net.sourceforge.subsonic.ajax.PlayQueueService;
-import net.sourceforge.subsonic.command.UserSettingsCommand;
-import net.sourceforge.subsonic.dao.AlbumDao;
-import net.sourceforge.subsonic.dao.ArtistDao;
-import net.sourceforge.subsonic.dao.BookmarkDao;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.dao.PlayQueueDao;
-import net.sourceforge.subsonic.domain.Album;
-import net.sourceforge.subsonic.domain.Artist;
-import net.sourceforge.subsonic.domain.ArtistBio;
-import net.sourceforge.subsonic.domain.Bookmark;
-import net.sourceforge.subsonic.domain.Genre;
-import net.sourceforge.subsonic.domain.InternetRadio;
-import net.sourceforge.subsonic.domain.LicenseInfo;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.MusicFolderContent;
-import net.sourceforge.subsonic.domain.MusicIndex;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.PlayStatus;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PlayerTechnology;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.PodcastChannel;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.domain.RandomSearchCriteria;
-import net.sourceforge.subsonic.domain.SavedPlayQueue;
-import net.sourceforge.subsonic.domain.SearchCriteria;
-import net.sourceforge.subsonic.domain.SearchResult;
-import net.sourceforge.subsonic.domain.Share;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.AudioScrobblerService;
-import net.sourceforge.subsonic.service.JukeboxService;
-import net.sourceforge.subsonic.service.LastFmService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.MusicIndexService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.service.RatingService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.ShareService;
-import net.sourceforge.subsonic.service.StatusService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.Pair;
-import net.sourceforge.subsonic.util.StringUtil;
-import net.sourceforge.subsonic.util.Util;
-
-import static net.sourceforge.subsonic.security.RESTRequestParameterProcessingFilter.decrypt;
+import org.libresonic.restapi.AlbumID3;
+import org.libresonic.restapi.AlbumList;
+import org.libresonic.restapi.AlbumList2;
+import org.libresonic.restapi.AlbumWithSongsID3;
+import org.libresonic.restapi.ArtistID3;
+import org.libresonic.restapi.ArtistInfo;
+import org.libresonic.restapi.ArtistInfo2;
+import org.libresonic.restapi.ArtistWithAlbumsID3;
+import org.libresonic.restapi.ArtistsID3;
+import org.libresonic.restapi.Bookmarks;
+import org.libresonic.restapi.ChatMessage;
+import org.libresonic.restapi.ChatMessages;
+import org.libresonic.restapi.Child;
+import org.libresonic.restapi.Directory;
+import org.libresonic.restapi.Genres;
+import org.libresonic.restapi.Index;
+import org.libresonic.restapi.IndexID3;
+import org.libresonic.restapi.Indexes;
+import org.libresonic.restapi.InternetRadioStation;
+import org.libresonic.restapi.InternetRadioStations;
+import org.libresonic.restapi.JukeboxPlaylist;
+import org.libresonic.restapi.JukeboxStatus;
+import org.libresonic.restapi.License;
+import org.libresonic.restapi.Lyrics;
+import org.libresonic.restapi.MediaType;
+import org.libresonic.restapi.MusicFolders;
+import org.libresonic.restapi.NewestPodcasts;
+import org.libresonic.restapi.NowPlaying;
+import org.libresonic.restapi.NowPlayingEntry;
+import org.libresonic.restapi.PlaylistWithSongs;
+import org.libresonic.restapi.Playlists;
+import org.libresonic.restapi.PodcastStatus;
+import org.libresonic.restapi.Podcasts;
+import org.libresonic.restapi.Response;
+import org.libresonic.restapi.SearchResult2;
+import org.libresonic.restapi.SearchResult3;
+import org.libresonic.restapi.Shares;
+import org.libresonic.restapi.SimilarSongs;
+import org.libresonic.restapi.SimilarSongs2;
+import org.libresonic.restapi.Songs;
+import org.libresonic.restapi.Starred;
+import org.libresonic.restapi.Starred2;
+import org.libresonic.restapi.TopSongs;
+import org.libresonic.restapi.Users;
+import org.libresonic.restapi.Videos;
+
+import org.libresonic.player.Logger;
+import org.libresonic.player.ajax.ChatService;
+import org.libresonic.player.ajax.LyricsInfo;
+import org.libresonic.player.ajax.LyricsService;
+import org.libresonic.player.ajax.PlayQueueService;
+import org.libresonic.player.command.UserSettingsCommand;
+import org.libresonic.player.dao.AlbumDao;
+import org.libresonic.player.dao.ArtistDao;
+import org.libresonic.player.dao.BookmarkDao;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.dao.PlayQueueDao;
+import org.libresonic.player.domain.Album;
+import org.libresonic.player.domain.Artist;
+import org.libresonic.player.domain.ArtistBio;
+import org.libresonic.player.domain.Bookmark;
+import org.libresonic.player.domain.Genre;
+import org.libresonic.player.domain.InternetRadio;
+import org.libresonic.player.domain.LicenseInfo;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.MusicFolderContent;
+import org.libresonic.player.domain.MusicIndex;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.PlayStatus;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PlayerTechnology;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.PodcastChannel;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.domain.RandomSearchCriteria;
+import org.libresonic.player.domain.SavedPlayQueue;
+import org.libresonic.player.domain.SearchCriteria;
+import org.libresonic.player.domain.SearchResult;
+import org.libresonic.player.domain.Share;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.AudioScrobblerService;
+import org.libresonic.player.service.JukeboxService;
+import org.libresonic.player.service.LastFmService;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.MusicIndexService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.service.RatingService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.ShareService;
+import org.libresonic.player.service.StatusService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.Pair;
+import org.libresonic.player.util.StringUtil;
+import org.libresonic.player.util.Util;
+
+import static org.libresonic.player.security.RESTRequestParameterProcessingFilter.decrypt;
import static org.springframework.web.bind.ServletRequestUtils.*;
/**
@@ -230,7 +231,7 @@ public class RESTController extends MultiActionController {
MusicFolders musicFolders = new MusicFolders();
String username = securityService.getCurrentUsername(request);
for (MusicFolder musicFolder : settingsService.getMusicFoldersForUser(username)) {
- org.subsonic.restapi.MusicFolder mf = new org.subsonic.restapi.MusicFolder();
+ org.libresonic.restapi.MusicFolder mf = new org.libresonic.restapi.MusicFolder();
mf.setId(musicFolder.getId());
mf.setName(musicFolder.getName());
musicFolders.getMusicFolder().add(mf);
@@ -284,7 +285,7 @@ public class RESTController extends MultiActionController {
for (MediaFile mediaFile : artist.getMediaFiles()) {
if (mediaFile.isDirectory()) {
Date starredDate = mediaFileDao.getMediaFileStarredDate(mediaFile.getId(), username);
- org.subsonic.restapi.Artist a = new org.subsonic.restapi.Artist();
+ org.libresonic.restapi.Artist a = new org.libresonic.restapi.Artist();
index.getArtist().add(a);
a.setId(String.valueOf(mediaFile.getId()));
a.setName(artist.getName());
@@ -316,7 +317,7 @@ public class RESTController extends MultiActionController {
Genres genres = new Genres();
for (Genre genre : mediaFileDao.getGenres(false)) {
- org.subsonic.restapi.Genre g = new org.subsonic.restapi.Genre();
+ org.libresonic.restapi.Genre g = new org.libresonic.restapi.Genre();
genres.getGenre().add(g);
g.setContent(genre.getName());
g.setAlbumCount(genre.getAlbumCount());
@@ -536,8 +537,8 @@ public class RESTController extends MultiActionController {
return jaxbArtist;
}
- private org.subsonic.restapi.Artist createJaxbArtist(MediaFile artist, String username) {
- org.subsonic.restapi.Artist result = new org.subsonic.restapi.Artist();
+ private org.libresonic.restapi.Artist createJaxbArtist(MediaFile artist, String username) {
+ org.libresonic.restapi.Artist result = new org.libresonic.restapi.Artist();
result.setId(String.valueOf(artist.getId()));
result.setName(artist.getArtist());
Date starred = mediaFileDao.getMediaFileStarredDate(artist.getId(), username);
@@ -589,7 +590,7 @@ public class RESTController extends MultiActionController {
return jaxbAlbum;
}
- private T createJaxbPlaylist(T jaxbPlaylist, Playlist playlist) {
+ private T createJaxbPlaylist(T jaxbPlaylist, Playlist playlist) {
jaxbPlaylist.setId(String.valueOf(playlist.getId()));
jaxbPlaylist.setName(playlist.getName());
jaxbPlaylist.setComment(playlist.getComment());
@@ -728,7 +729,7 @@ public class RESTController extends MultiActionController {
List musicFolders = settingsService.getMusicFoldersForUser(username);
SearchResult result = searchService.search(criteria, musicFolders, SearchService.IndexType.SONG);
- org.subsonic.restapi.SearchResult searchResult = new org.subsonic.restapi.SearchResult();
+ org.libresonic.restapi.SearchResult searchResult = new org.libresonic.restapi.SearchResult();
searchResult.setOffset(result.getOffset());
searchResult.setTotalHits(result.getTotalHits());
@@ -836,7 +837,7 @@ public class RESTController extends MultiActionController {
Playlists result = new Playlists();
for (Playlist playlist : playlistService.getReadablePlaylistsForUser(requestedUsername)) {
- result.getPlaylist().add(createJaxbPlaylist(new org.subsonic.restapi.Playlist(), playlist));
+ result.getPlaylist().add(createJaxbPlaylist(new org.libresonic.restapi.Playlist(), playlist));
}
Response res = createResponse();
@@ -1577,7 +1578,7 @@ public class RESTController extends MultiActionController {
for (PodcastChannel channel : podcastService.getAllChannels()) {
if (channelId == null || channelId.equals(channel.getId())) {
- org.subsonic.restapi.PodcastChannel c = new org.subsonic.restapi.PodcastChannel();
+ org.libresonic.restapi.PodcastChannel c = new org.libresonic.restapi.PodcastChannel();
result.getChannel().add(c);
c.setId(String.valueOf(channel.getId()));
@@ -1620,13 +1621,13 @@ public class RESTController extends MultiActionController {
jaxbWriter.writeResponse(request, response, res);
}
- private org.subsonic.restapi.PodcastEpisode createJaxbPodcastEpisode(Player player, String username, PodcastEpisode episode) {
- org.subsonic.restapi.PodcastEpisode e = new org.subsonic.restapi.PodcastEpisode();
+ private org.libresonic.restapi.PodcastEpisode createJaxbPodcastEpisode(Player player, String username, PodcastEpisode episode) {
+ org.libresonic.restapi.PodcastEpisode e = new org.libresonic.restapi.PodcastEpisode();
String path = episode.getPath();
if (path != null) {
MediaFile mediaFile = mediaFileService.getMediaFile(path);
- e = createJaxbChild(new org.subsonic.restapi.PodcastEpisode(), player, mediaFile, username);
+ e = createJaxbChild(new org.libresonic.restapi.PodcastEpisode(), player, mediaFile, username);
e.setStreamId(String.valueOf(mediaFile.getId()));
}
@@ -1739,7 +1740,7 @@ public class RESTController extends MultiActionController {
Bookmarks result = new Bookmarks();
for (Bookmark bookmark : bookmarkDao.getBookmarks(username)) {
- org.subsonic.restapi.Bookmark b = new org.subsonic.restapi.Bookmark();
+ org.libresonic.restapi.Bookmark b = new org.libresonic.restapi.Bookmark();
result.getBookmark().add(b);
b.setPosition(bookmark.getPositionMillis());
b.setUsername(bookmark.getUsername());
@@ -1795,7 +1796,7 @@ public class RESTController extends MultiActionController {
return;
}
- org.subsonic.restapi.PlayQueue restPlayQueue = new org.subsonic.restapi.PlayQueue();
+ org.libresonic.restapi.PlayQueue restPlayQueue = new org.libresonic.restapi.PlayQueue();
restPlayQueue.setUsername(playQueue.getUsername());
restPlayQueue.setCurrent(playQueue.getCurrentMediaFileId());
restPlayQueue.setPosition(playQueue.getPositionMillis());
@@ -1844,7 +1845,7 @@ public class RESTController extends MultiActionController {
Shares result = new Shares();
for (Share share : shareService.getSharesForUser(user)) {
- org.subsonic.restapi.Share s = createJaxbShare(share);
+ org.libresonic.restapi.Share s = createJaxbShare(share);
result.getShare().add(s);
for (MediaFile mediaFile : shareService.getSharedFiles(share.getId(), musicFolders)) {
@@ -1869,7 +1870,7 @@ public class RESTController extends MultiActionController {
}
if (!settingsService.isUrlRedirectionEnabled()) {
- error(request, response, ErrorCode.GENERIC, "Sharing is only supported for *.subsonic.org domain names.");
+ error(request, response, ErrorCode.GENERIC, "Sharing is only supported for *.libresonic.org domain names.");
return;
}
@@ -1887,7 +1888,7 @@ public class RESTController extends MultiActionController {
shareService.updateShare(share);
Shares result = new Shares();
- org.subsonic.restapi.Share s = createJaxbShare(share);
+ org.libresonic.restapi.Share s = createJaxbShare(share);
result.getShare().add(s);
List musicFolders = settingsService.getMusicFoldersForUser(username);
@@ -1947,8 +1948,8 @@ public class RESTController extends MultiActionController {
writeEmptyResponse(request, response);
}
- private org.subsonic.restapi.Share createJaxbShare(Share share) {
- org.subsonic.restapi.Share result = new org.subsonic.restapi.Share();
+ private org.libresonic.restapi.Share createJaxbShare(Share share) {
+ org.libresonic.restapi.Share result = new org.libresonic.restapi.Share();
result.setId(String.valueOf(share.getId()));
result.setUrl(shareService.getShareUrl(share));
result.setUsername(share.getUsername());
@@ -2073,10 +2074,10 @@ public class RESTController extends MultiActionController {
jaxbWriter.writeResponse(request, response, res);
}
- private org.subsonic.restapi.User createJaxbUser(User user) {
+ private org.libresonic.restapi.User createJaxbUser(User user) {
UserSettings userSettings = settingsService.getUserSettings(user.getUsername());
- org.subsonic.restapi.User result = new org.subsonic.restapi.User();
+ org.libresonic.restapi.User result = new org.libresonic.restapi.User();
result.setUsername(user.getUsername());
result.setEmail(user.getEmail());
result.setScrobblingEnabled(userSettings.isLastFmEnabled());
@@ -2484,11 +2485,11 @@ public class RESTController extends MultiActionController {
GENERIC(0, "A generic error."),
MISSING_PARAMETER(10, "Required parameter is missing."),
- PROTOCOL_MISMATCH_CLIENT_TOO_OLD(20, "Incompatible Subsonic REST protocol version. Client must upgrade."),
- PROTOCOL_MISMATCH_SERVER_TOO_OLD(30, "Incompatible Subsonic REST protocol version. Server must upgrade."),
+ PROTOCOL_MISMATCH_CLIENT_TOO_OLD(20, "Incompatible Libresonic REST protocol version. Client must upgrade."),
+ PROTOCOL_MISMATCH_SERVER_TOO_OLD(30, "Incompatible Libresonic REST protocol version. Server must upgrade."),
NOT_AUTHENTICATED(40, "Wrong username or password."),
NOT_AUTHORIZED(50, "User is not authorized for the given operation."),
- NOT_LICENSED(60, "The trial period for the Subsonic server is over. Please upgrade to Subsonic Premium. Visit subsonic.org for details."),
+ NOT_LICENSED(60, "The trial period for the Libresonic server is over. Please upgrade to Subsonic Premium. Visit libresonic.org for details."),
NOT_FOUND(70, "Requested data was not found.");
private final int code;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RandomPlayQueueController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/RandomPlayQueueController.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RandomPlayQueueController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/RandomPlayQueueController.java
index 6dd7f7b2..6c813199 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RandomPlayQueueController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/RandomPlayQueueController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.Arrays;
import java.util.Collections;
@@ -33,14 +34,14 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.RandomSearchCriteria;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.RandomSearchCriteria;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the creating a random play queue.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ReloadFrame.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ReloadFrame.java
similarity index 68%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ReloadFrame.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ReloadFrame.java
index 093b7fa1..1c321fb1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ReloadFrame.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ReloadFrame.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
/**
- * Used in subsonic-servlet.xml to specify frame reloading.
+ * Used in libresonic-servlet.xml to specify frame reloading.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RightController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/RightController.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RightController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/RightController.java
index 74bc6c9c..769765e0 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/RightController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/RightController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -27,10 +28,10 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.VersionService;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.VersionService;
/**
* Controller for the right frame.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SearchController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/SearchController.java
similarity index 78%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SearchController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/SearchController.java
index db08d88a..a357b120 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SearchController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/SearchController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.List;
@@ -28,16 +29,16 @@ import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
-import net.sourceforge.subsonic.command.SearchCommand;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.SearchCriteria;
-import net.sourceforge.subsonic.domain.SearchResult;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.SearchCommand;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.SearchCriteria;
+import org.libresonic.player.domain.SearchResult;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the search page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SetMusicFileInfoController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/SetMusicFileInfoController.java
similarity index 76%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SetMusicFileInfoController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/SetMusicFileInfoController.java
index 50bec647..d7edb47d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SetMusicFileInfoController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/SetMusicFileInfoController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -26,9 +27,9 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.util.StringUtil;
/**
* Controller for updating music file metadata.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SetRatingController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/SetRatingController.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SetRatingController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/SetRatingController.java
index 653ebaad..d7962dfc 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SetRatingController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/SetRatingController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -26,10 +27,10 @@ import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import org.springframework.web.servlet.view.RedirectView;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.RatingService;
-import net.sourceforge.subsonic.service.SecurityService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.RatingService;
+import org.libresonic.player.service.SecurityService;
/**
* Controller for updating music file ratings.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/SettingsController.java
similarity index 74%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/SettingsController.java
index ed0c21c5..ce4910bf 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/SettingsController.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.domain.*;
-import net.sourceforge.subsonic.service.*;
+import org.libresonic.player.domain.*;
+import org.libresonic.player.service.*;
import org.springframework.web.servlet.*;
import org.springframework.web.servlet.view.*;
import org.springframework.web.servlet.mvc.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareManagementController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ShareManagementController.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareManagementController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ShareManagementController.java
index 1b4b5bad..f1bab574 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareManagementController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ShareManagementController.java
@@ -1,33 +1,34 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
-
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Share;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.ShareService;
+package org.libresonic.player.controller;
+
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Share;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.ShareService;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/ShareSettingsController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/ShareSettingsController.java
index 2d95df1c..19113a73 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/ShareSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/ShareSettingsController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.ArrayList;
import java.util.Calendar;
@@ -33,14 +34,14 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Share;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.ShareService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Share;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.ShareService;
/**
* Controller for the page used to administrate the set of shared media.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SonosSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/SonosSettingsController.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SonosSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/SonosSettingsController.java
index 59567130..eb8226b6 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/SonosSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/SonosSettingsController.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -29,8 +29,8 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.SonosService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.SonosService;
/**
* Controller for the page used to administrate the Sonos music service settings.
@@ -75,7 +75,7 @@ public class SonosSettingsController extends ParameterizableViewController {
boolean sonosEnabled = ServletRequestUtils.getBooleanParameter(request, "sonosEnabled", false);
String sonosServiceName = StringUtils.trimToNull(request.getParameter("sonosServiceName"));
if (sonosServiceName == null) {
- sonosServiceName = "Subsonic";
+ sonosServiceName = "Libresonic";
}
settingsService.setSonosEnabled(sonosEnabled);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StarredController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/StarredController.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StarredController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/StarredController.java
index 90701383..20818b97 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StarredController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/StarredController.java
@@ -1,33 +1,34 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
-
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+package org.libresonic.player.controller;
+
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StatusChartController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/StatusChartController.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StatusChartController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/StatusChartController.java
index 878b8ae8..bd0366dd 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StatusChartController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/StatusChartController.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.domain.*;
-import net.sourceforge.subsonic.service.*;
+import org.libresonic.player.domain.*;
+import org.libresonic.player.service.*;
import org.jfree.chart.*;
import org.jfree.chart.axis.*;
import org.jfree.chart.plot.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StatusController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/StatusController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StatusController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/StatusController.java
index 964e7810..5cf59354 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StatusController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/StatusController.java
@@ -1,28 +1,29 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.service.StatusService;
-import net.sourceforge.subsonic.util.FileUtil;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.TransferStatus;
+import org.libresonic.player.service.StatusService;
+import org.libresonic.player.util.FileUtil;
+import org.libresonic.player.util.StringUtil;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
import org.springframework.web.servlet.support.RequestContextUtils;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StreamController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/StreamController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StreamController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/StreamController.java
index 440e1656..fe73fd1a 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/StreamController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/StreamController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.awt.Dimension;
import java.io.IOException;
@@ -34,32 +35,32 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.VideoTranscodingSettings;
-import net.sourceforge.subsonic.io.PlayQueueInputStream;
-import net.sourceforge.subsonic.io.RangeOutputStream;
-import net.sourceforge.subsonic.io.ShoutCastOutputStream;
-import net.sourceforge.subsonic.service.AudioScrobblerService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.StatusService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.service.sonos.SonosHelper;
-import net.sourceforge.subsonic.util.HttpRange;
-import net.sourceforge.subsonic.util.StringUtil;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+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.RangeOutputStream;
+import org.libresonic.player.io.ShoutCastOutputStream;
+import org.libresonic.player.service.AudioScrobblerService;
+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.util.HttpRange;
+import org.libresonic.player.util.StringUtil;
+import org.libresonic.player.util.Util;
/**
- * A controller which streams the content of a {@link net.sourceforge.subsonic.domain.PlayQueue} to a remote
+ * A controller which streams the content of a {@link org.libresonic.player.domain.PlayQueue} to a remote
* {@link Player}.
*
* @author Sindre Mehus
@@ -162,7 +163,7 @@ public class StreamController implements Controller {
response.setContentType(StringUtil.getMimeType("ts")); // HLS is always MPEG TS.
} else {
String transcodedSuffix = transcodingService.getSuffix(player, file, preferredTargetFormat);
- boolean sonos = SonosHelper.SUBSONIC_CLIENT_ID.equals(player.getClientId());
+ boolean sonos = SonosHelper.LIBRESONIC_CLIENT_ID.equals(player.getClientId());
response.setContentType(StringUtil.getMimeType(transcodedSuffix, sonos));
setContentDuration(response, file);
}
@@ -195,11 +196,11 @@ public class StreamController implements Controller {
boolean isShoutCastRequested = "1".equals(request.getHeader("icy-metadata"));
if (isShoutCastRequested && !isSingleFile) {
response.setHeader("icy-metaint", "" + ShoutCastOutputStream.META_DATA_INTERVAL);
- response.setHeader("icy-notice1", "This stream is served using Subsonic");
- response.setHeader("icy-notice2", "Subsonic - Free media streamer - subsonic.org");
- response.setHeader("icy-name", "Subsonic");
+ response.setHeader("icy-notice1", "This stream is served using Libresonic");
+ response.setHeader("icy-notice2", "Libresonic - Free media streamer - libresonic.org");
+ response.setHeader("icy-name", "Libresonic");
response.setHeader("icy-genre", "Mixed");
- response.setHeader("icy-url", "http://subsonic.org/");
+ response.setHeader("icy-url", "http://libresonic.org/");
out = new ShoutCastOutputStream(out, player.getPlayQueue(), settingsService);
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/TopController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/TopController.java
similarity index 74%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/TopController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/TopController.java
index 3f3506dc..3d1a5360 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/TopController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/TopController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.Map;
@@ -27,11 +28,11 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.AvatarScheme;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.AvatarScheme;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the top frame.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/TranscodingSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/TranscodingSettingsController.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/TranscodingSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/TranscodingSettingsController.java
index 39176fd1..bd28e172 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/TranscodingSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/TranscodingSettingsController.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.domain.Transcoding;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.Transcoding;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.service.SettingsService;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UploadController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/UploadController.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UploadController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/UploadController.java
index de7bf8dd..19dc60bd 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UploadController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/UploadController.java
@@ -1,28 +1,29 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
-import net.sourceforge.subsonic.*;
-import net.sourceforge.subsonic.domain.*;
-import net.sourceforge.subsonic.upload.*;
-import net.sourceforge.subsonic.service.*;
-import net.sourceforge.subsonic.util.*;
+import org.libresonic.player.*;
+import org.libresonic.player.domain.*;
+import org.libresonic.player.upload.*;
+import org.libresonic.player.service.*;
+import org.libresonic.player.util.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.servlet.*;
import org.apache.commons.io.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UserChartController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/UserChartController.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UserChartController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/UserChartController.java
index 0428eff8..cdb00a7c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UserChartController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/UserChartController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.awt.Color;
import java.awt.GradientPaint;
@@ -40,8 +41,8 @@ import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.springframework.web.servlet.ModelAndView;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.SecurityService;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.SecurityService;
/**
* Controller for generating a chart showing bitrate vs time.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UserSettingsController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/UserSettingsController.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UserSettingsController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/UserSettingsController.java
index d0af59ea..4a913f9f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/UserSettingsController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/UserSettingsController.java
@@ -1,32 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
-
-import net.sourceforge.subsonic.command.UserSettingsCommand;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.Util;
+package org.libresonic.player.controller;
+
+import org.libresonic.player.command.UserSettingsCommand;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.Util;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.ServletRequestBindingException;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/VideoPlayerController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/VideoPlayerController.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/VideoPlayerController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/VideoPlayerController.java
index 141a0e90..b585d43b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/VideoPlayerController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/VideoPlayerController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -29,13 +30,13 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.StringUtil;
/**
* Controller for the page used to play videos.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/WapController.java b/libresonic-main/src/main/java/org/libresonic/player/controller/WapController.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/controller/WapController.java
rename to libresonic-main/src/main/java/org/libresonic/player/controller/WapController.java
index 416b61ae..967808b8 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/controller/WapController.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/controller/WapController.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.controller;
+package org.libresonic.player.controller;
import java.io.IOException;
import java.util.ArrayList;
@@ -33,22 +34,22 @@ import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.MusicIndex;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.RandomSearchCriteria;
-import net.sourceforge.subsonic.domain.SearchCriteria;
-import net.sourceforge.subsonic.domain.SearchResult;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.MusicIndexService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.MusicIndex;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.RandomSearchCriteria;
+import org.libresonic.player.domain.SearchCriteria;
+import org.libresonic.player.domain.SearchResult;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.MusicIndexService;
+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;
/**
* Multi-controller used for wap pages.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/AbstractDao.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/AbstractDao.java
index d1dba4d0..2da6acb7 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AbstractDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/AbstractDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.util.Date;
import java.util.List;
@@ -26,7 +27,7 @@ import java.util.concurrent.TimeUnit;
import org.springframework.jdbc.core.*;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
-import net.sourceforge.subsonic.Logger;
+import org.libresonic.player.Logger;
/**
* Abstract superclass for all DAO's.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AlbumDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/AlbumDao.java
similarity index 96%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AlbumDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/AlbumDao.java
index 5fd775ac..71515156 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AlbumDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/AlbumDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -30,10 +31,10 @@ import org.apache.commons.lang.ObjectUtils;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.domain.Album;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.domain.Album;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.util.FileUtil;
/**
* Provides database services for albums.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/ArtistDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/ArtistDao.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/ArtistDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/ArtistDao.java
index fd3673a6..ea98c9c3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/ArtistDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/ArtistDao.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.Artist;
-import net.sourceforge.subsonic.domain.MusicFolder;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.Artist;
+import org.libresonic.player.domain.MusicFolder;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AvatarDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/AvatarDao.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AvatarDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/AvatarDao.java
index abdc118d..b571ffc2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/AvatarDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/AvatarDao.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
-import net.sourceforge.subsonic.domain.Avatar;
+import org.libresonic.player.domain.Avatar;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import java.sql.ResultSet;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/BookmarkDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/BookmarkDao.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/BookmarkDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/BookmarkDao.java
index 5f9b6c28..de7a976f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/BookmarkDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/BookmarkDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -24,7 +25,7 @@ import java.util.List;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.domain.Bookmark;
+import org.libresonic.player.domain.Bookmark;
/**
* Provides database services for media file bookmarks.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/DaoHelper.java b/libresonic-main/src/main/java/org/libresonic/player/dao/DaoHelper.java
similarity index 74%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/DaoHelper.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/DaoHelper.java
index a45ffafa..b9c8bd0a 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/DaoHelper.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/DaoHelper.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/DaoHelperFactory.java b/libresonic-main/src/main/java/org/libresonic/player/dao/DaoHelperFactory.java
similarity index 70%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/DaoHelperFactory.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/DaoHelperFactory.java
index 20f837e7..e3287d37 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/DaoHelperFactory.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/DaoHelperFactory.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/HsqlDaoHelper.java b/libresonic-main/src/main/java/org/libresonic/player/dao/HsqlDaoHelper.java
similarity index 60%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/HsqlDaoHelper.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/HsqlDaoHelper.java
index 226ef52d..43880551 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/HsqlDaoHelper.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/HsqlDaoHelper.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.io.File;
@@ -26,33 +26,35 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema25;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema26;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema27;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema28;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema29;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema30;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema31;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema32;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema33;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema34;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema35;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema36;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema37;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema38;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema40;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema43;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema45;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema46;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema47;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema49;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema50;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema51;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema52;
-import net.sourceforge.subsonic.dao.schema.hsql.Schema53;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
+import org.libresonic.player.dao.schema.hsql.Schema25;
+import org.libresonic.player.dao.schema.hsql.Schema26;
+import org.libresonic.player.dao.schema.hsql.Schema27;
+import org.libresonic.player.dao.schema.hsql.Schema28;
+import org.libresonic.player.dao.schema.hsql.Schema29;
+import org.libresonic.player.dao.schema.hsql.Schema30;
+import org.libresonic.player.dao.schema.hsql.Schema31;
+import org.libresonic.player.dao.schema.hsql.Schema32;
+import org.libresonic.player.dao.schema.hsql.Schema33;
+import org.libresonic.player.dao.schema.hsql.Schema34;
+import org.libresonic.player.dao.schema.hsql.Schema35;
+import org.libresonic.player.dao.schema.hsql.Schema36;
+import org.libresonic.player.dao.schema.hsql.Schema37;
+import org.libresonic.player.dao.schema.hsql.Schema38;
+import org.libresonic.player.dao.schema.hsql.Schema40;
+import org.libresonic.player.dao.schema.hsql.Schema43;
+import org.libresonic.player.dao.schema.hsql.Schema45;
+import org.libresonic.player.dao.schema.hsql.Schema46;
+import org.libresonic.player.dao.schema.hsql.Schema47;
+import org.libresonic.player.dao.schema.hsql.Schema49;
+import org.libresonic.player.dao.schema.hsql.Schema50;
+import org.libresonic.player.dao.schema.hsql.Schema51;
+import org.libresonic.player.dao.schema.hsql.Schema52;
+import org.libresonic.player.dao.schema.hsql.Schema53;
+import org.libresonic.player.dao.schema.hsql.Schema61;
+import org.libresonic.player.dao.schema.hsql.Schema62;
+import org.libresonic.player.service.SettingsService;
/**
* DAO helper class which creates the data source, and updates the database schema.
@@ -67,7 +69,8 @@ public class HsqlDaoHelper implements DaoHelper {
new Schema30(), new Schema31(), new Schema32(), new Schema33(), new Schema34(),
new Schema35(), new Schema36(), new Schema37(), new Schema38(), new Schema40(),
new Schema43(), new Schema45(), new Schema46(), new Schema47(), new Schema49(),
- new Schema50(), new Schema51(), new Schema52(), new Schema53()};
+ new Schema50(), new Schema51(), new Schema52(), new Schema53(), new Schema61(),
+ new Schema62()};
private DataSource dataSource;
private static boolean shutdownHookAdded;
@@ -106,10 +109,10 @@ public class HsqlDaoHelper implements DaoHelper {
}
private DataSource createDataSource() {
- File subsonicHome = SettingsService.getSubsonicHome();
+ File libresonicHome = SettingsService.getLibresonicHome();
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName("org.hsqldb.jdbcDriver");
- ds.setUrl("jdbc:hsqldb:file:" + subsonicHome.getPath() + "/db/subsonic");
+ ds.setUrl("jdbc:hsqldb:file:" + libresonicHome.getPath() + "/db/libresonic");
ds.setUsername("sa");
ds.setPassword("");
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/InternetRadioDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/InternetRadioDao.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/InternetRadioDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/InternetRadioDao.java
index c3c20a74..b1a1d4d4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/InternetRadioDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/InternetRadioDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -24,8 +25,8 @@ import java.util.List;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.InternetRadio;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.InternetRadio;
/**
* Provides database services for internet radio.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/MediaFileDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java
similarity index 97%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/MediaFileDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java
index 989defd3..25968340 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/MediaFileDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/MediaFileDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -31,12 +32,12 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.domain.Genre;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
+import org.libresonic.player.domain.Genre;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
-import static net.sourceforge.subsonic.domain.MediaFile.MediaType;
-import static net.sourceforge.subsonic.domain.MediaFile.MediaType.*;
+import static org.libresonic.player.domain.MediaFile.MediaType;
+import static org.libresonic.player.domain.MediaFile.MediaType.*;
/**
* Provides database services for media files.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/MusicFolderDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/MusicFolderDao.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/MusicFolderDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/MusicFolderDao.java
index 4deca18e..ca997b45 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/MusicFolderDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/MusicFolderDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.io.File;
import java.sql.ResultSet;
@@ -25,8 +26,8 @@ import java.util.List;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MusicFolder;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MusicFolder;
/**
* Provides database services for music folders.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlayQueueDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/PlayQueueDao.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlayQueueDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/PlayQueueDao.java
index 78abcb09..f56bd232 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlayQueueDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/PlayQueueDao.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -25,7 +25,7 @@ import java.util.List;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.domain.SavedPlayQueue;
+import org.libresonic.player.domain.SavedPlayQueue;
/**
* Provides database services for play queues
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlayerDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/PlayerDao.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlayerDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/PlayerDao.java
index 04b1d9a3..be484188 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlayerDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/PlayerDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -28,12 +29,12 @@ import java.util.Map;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PlayerTechnology;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PlayerTechnology;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.TranscodeScheme;
/**
* Provides player-related database services.
@@ -43,7 +44,7 @@ import net.sourceforge.subsonic.domain.TranscodeScheme;
public class PlayerDao extends AbstractDao {
private static final Logger LOG = Logger.getLogger(PlayerDao.class);
- private static final String COLUMNS = "id, name, type, username, ip_address, auto_control_enabled, " +
+ private static final String COLUMNS = "id, name, type, username, ip_address, auto_control_enabled, m3u_bom_enabled, " +
"last_seen, cover_art_scheme, transcode_scheme, dynamic_ip, technology, client_id";
private PlayerRowMapper rowMapper = new PlayerRowMapper();
@@ -64,7 +65,7 @@ public class PlayerDao extends AbstractDao {
*
* @param username The name of the user.
* @param clientId The third-party client ID (used if this player is managed over the
- * Subsonic REST API). May be null.
+ * Libresonic REST API). May be null.
* @return All relevant players.
*/
public List getPlayersForUserAndClientId(String username, String clientId) {
@@ -98,7 +99,7 @@ public class PlayerDao extends AbstractDao {
player.setId(String.valueOf(id));
String sql = "insert into player (" + COLUMNS + ") values (" + questionMarks(COLUMNS) + ")";
update(sql, player.getId(), player.getName(), player.getType(), player.getUsername(),
- player.getIpAddress(), player.isAutoControlEnabled(),
+ player.getIpAddress(), player.isAutoControlEnabled(), player.isM3uBomEnabled(),
player.getLastSeen(), CoverArtScheme.MEDIUM.name(),
player.getTranscodeScheme().name(), player.isDynamicIp(),
player.getTechnology().name(), player.getClientId());
@@ -147,6 +148,7 @@ public class PlayerDao extends AbstractDao {
"username = ?," +
"ip_address = ?," +
"auto_control_enabled = ?," +
+ "m3u_bom_enabled = ?," +
"last_seen = ?," +
"transcode_scheme = ?, " +
"dynamic_ip = ?, " +
@@ -154,7 +156,7 @@ public class PlayerDao extends AbstractDao {
"client_id = ? " +
"where id = ?";
update(sql, player.getName(), player.getType(), player.getUsername(),
- player.getIpAddress(), player.isAutoControlEnabled(),
+ player.getIpAddress(), player.isAutoControlEnabled(), player.isM3uBomEnabled(),
player.getLastSeen(), player.getTranscodeScheme().name(), player.isDynamicIp(),
player.getTechnology(), player.getClientId(), player.getId());
}
@@ -178,6 +180,7 @@ public class PlayerDao extends AbstractDao {
player.setUsername(rs.getString(col++));
player.setIpAddress(rs.getString(col++));
player.setAutoControlEnabled(rs.getBoolean(col++));
+ player.setM3uBomEnabled(rs.getBoolean(col++));
player.setLastSeen(rs.getTimestamp(col++));
col++; // Ignore cover art scheme.
player.setTranscodeScheme(TranscodeScheme.valueOf(rs.getString(col++)));
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlaylistDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/PlaylistDao.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlaylistDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/PlaylistDao.java
index b26f986f..996d84eb 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PlaylistDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/PlaylistDao.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Playlist;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Playlist;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PodcastDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/PodcastDao.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PodcastDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/PodcastDao.java
index 2765920b..ca84b044 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/PodcastDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/PodcastDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -25,9 +26,9 @@ import java.util.List;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.domain.PodcastChannel;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.domain.PodcastStatus;
+import org.libresonic.player.domain.PodcastChannel;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.domain.PodcastStatus;
/**
* Provides database services for Podcast channels and episodes.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/RatingDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/RatingDao.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/RatingDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/RatingDao.java
index fed91575..6572fac7 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/RatingDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/RatingDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.util.ArrayList;
import java.util.Collections;
@@ -26,10 +27,10 @@ import java.util.Map;
import org.springframework.dao.EmptyResultDataAccessException;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
-import static net.sourceforge.subsonic.domain.MediaFile.MediaType.ALBUM;
+import static org.libresonic.player.domain.MediaFile.MediaType.ALBUM;
/**
* Provides database services for ratings.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/ShareDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/ShareDao.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/ShareDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/ShareDao.java
index a1e8cae3..15ca4fa3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/ShareDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/ShareDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -27,8 +28,8 @@ import java.util.Map;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Share;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Share;
/**
* Provides database services for shared media.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/TranscodingDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/TranscodingDao.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/TranscodingDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/TranscodingDao.java
index 22b8ae20..bfd43b1f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/TranscodingDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/TranscodingDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -24,8 +25,8 @@ import java.util.List;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.Transcoding;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.Transcoding;
/**
* Provides database services for transcoding configurations.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/UserDao.java b/libresonic-main/src/main/java/org/libresonic/player/dao/UserDao.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/UserDao.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/UserDao.java
index cf281d03..e95383c0 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/UserDao.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/UserDao.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao;
+package org.libresonic.player.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -24,13 +25,13 @@ import java.util.List;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.AvatarScheme;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.AvatarScheme;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.util.StringUtil;
/**
* Provides user-related database services.
@@ -48,7 +49,7 @@ public class UserDao extends AbstractDao {
"playlist_year, playlist_bit_rate, playlist_duration, playlist_format, playlist_file_size, " +
"last_fm_enabled, last_fm_username, last_fm_password, transcode_scheme, show_now_playing, selected_music_folder_id, " +
"party_mode_enabled, now_playing_allowed, avatar_scheme, system_avatar_id, changed, show_chat, show_artist_info, auto_hide_play_queue, " +
- "view_as_list, default_album_list, queue_following_songs, show_side_bar";
+ "view_as_list, default_album_list, queue_following_songs, show_side_bar, list_reload_delay";
private static final Integer ROLE_ID_ADMIN = 1;
private static final Integer ROLE_ID_DOWNLOAD = 2;
@@ -192,7 +193,7 @@ public class UserDao extends AbstractDao {
settings.getAvatarScheme().name(), settings.getSystemAvatarId(), settings.getChanged(),
settings.isShowChatEnabled(), settings.isShowArtistInfoEnabled(), settings.isAutoHidePlayQueue(),
settings.isViewAsList(), settings.getDefaultAlbumList().getId(), settings.isQueueFollowingSongs(),
- settings.isShowSideBar()});
+ settings.isShowSideBar(), settings.getListReloadDelay()});
}
private static String encrypt(String s) {
@@ -353,6 +354,7 @@ public class UserDao extends AbstractDao {
settings.setDefaultAlbumList(AlbumListType.fromId(rs.getString(col++)));
settings.setQueueFollowingSongs(rs.getBoolean(col++));
settings.setShowSideBar(rs.getBoolean(col++));
+ settings.setListReloadDelay((Integer) rs.getObject(col++));
return settings;
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/Schema.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/Schema.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/Schema.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/Schema.java
index 20c3d9eb..4cf63dca 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/Schema.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/Schema.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema;
+package org.libresonic.player.dao.schema;
import org.springframework.jdbc.core.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema25.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema25.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema25.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema25.java
index 55fbb895..14dc996d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema25.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema25.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 2.5.
+ * This class implementes the database schema for Libresonic version 2.5.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema26.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema26.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema26.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema26.java
index c375e576..8094e7c2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema26.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema26.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.*;
-import net.sourceforge.subsonic.dao.schema.Schema;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.*;
+import org.libresonic.player.dao.schema.Schema;
+import org.libresonic.player.util.Util;
import org.springframework.jdbc.core.*;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 2.6.
+ * This class implementes the database schema for Libresonic version 2.6.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema27.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema27.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema27.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema27.java
index 55050143..baa4672e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema27.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema27.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.*;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.*;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.*;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 2.7.
+ * This class implementes the database schema for Libresonic version 2.7.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema28.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema28.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema28.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema28.java
index 0f7b9143..c1678f67 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema28.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema28.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.*;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.*;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.*;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 2.8.
+ * This class implementes the database schema for Libresonic version 2.8.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema29.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema29.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema29.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema29.java
index 9d9631ce..2495af4b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema29.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema29.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.*;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.*;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.*;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 2.9.
+ * This class implementes the database schema for Libresonic version 2.9.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema30.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema30.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema30.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema30.java
index ec7d85a8..4a72499b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema30.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema30.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.*;
-import net.sourceforge.subsonic.dao.schema.Schema;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
+import org.libresonic.player.*;
+import org.libresonic.player.dao.schema.Schema;
+import org.libresonic.player.domain.TranscodeScheme;
import org.springframework.jdbc.core.*;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.0.
+ * This class implementes the database schema for Libresonic version 3.0.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema31.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema31.java
similarity index 76%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema31.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema31.java
index 25b6724c..a8bdc198 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema31.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema31.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.1.
+ * This class implementes the database schema for Libresonic version 3.1.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema32.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema32.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema32.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema32.java
index 683d4a29..bc134665 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema32.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema32.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.2.
+ * This class implementes the database schema for Libresonic version 3.2.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema33.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema33.java
similarity index 71%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema33.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema33.java
index bbeb7000..c76376d1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema33.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema33.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.3.
+ * This class implementes the database schema for Libresonic version 3.3.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema34.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema34.java
similarity index 76%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema34.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema34.java
index a00c38cb..9fb38f88 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema34.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema34.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.4.
+ * This class implementes the database schema for Libresonic version 3.4.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema35.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema35.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema35.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema35.java
index 09faf644..c7244686 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema35.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema35.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.apache.commons.io.IOUtils;
import org.springframework.jdbc.core.JdbcTemplate;
@@ -30,7 +31,7 @@ import java.util.Date;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.5.
+ * This class implementes the database schema for Libresonic version 3.5.
*
* @author Sindre Mehus
*/
@@ -138,7 +139,7 @@ public class Schema35 extends Schema {
InputStream in = null;
try {
- in = getClass().getResourceAsStream("/net/sourceforge/subsonic/dao/schema/" + avatar + ".png");
+ in = getClass().getResourceAsStream("/org/libresonic/player/dao/schema/" + avatar + ".png");
byte[] imageData = IOUtils.toByteArray(in);
template.update("insert into system_avatar values (null, ?, ?, ?, ?, ?, ?)",
new Object[]{avatar, new Date(), "image/png", 48, 48, imageData});
@@ -150,4 +151,4 @@ public class Schema35 extends Schema {
}
}
}
-}
\ No newline at end of file
+}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema36.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema36.java
similarity index 71%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema36.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema36.java
index 1ddd1fd7..2c763a77 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema36.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema36.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implementes the database schema for Subsonic version 3.6.
+ * This class implementes the database schema for Libresonic version 3.6.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema37.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema37.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema37.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema37.java
index ffb342cc..25fd2fe4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema37.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema37.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 3.7.
+ * This class implements the database schema for Libresonic version 3.7.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema38.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema38.java
similarity index 75%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema38.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema38.java
index bddeaee4..a2b4a389 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema38.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema38.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 3.8.
+ * This class implements the database schema for Libresonic version 3.8.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema40.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema40.java
similarity index 69%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema40.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema40.java
index 758daddb..73c65737 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema40.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema40.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 4.0.
+ * This class implements the database schema for Libresonic version 4.0.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema43.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema43.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema43.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema43.java
index f66382f0..5af5726d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema43.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema43.java
@@ -1,33 +1,34 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import java.util.Arrays;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 4.3.
+ * This class implements the database schema for Libresonic version 4.3.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema45.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema45.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema45.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema45.java
index a012cb11..72cdae1f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema45.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema45.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 4.5.
+ * This class implements the database schema for Libresonic version 4.5.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema46.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema46.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema46.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema46.java
index 9410e6fb..cd002ed2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema46.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema46.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 4.6.
+ * This class implements the database schema for Libresonic version 4.6.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema47.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema47.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema47.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema47.java
index f2e7974e..09503566 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema47.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema47.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
import org.springframework.jdbc.core.JdbcTemplate;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 4.7.
+ * This class implements the database schema for Libresonic version 4.7.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema49.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema49.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema49.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema49.java
index a9cfe5b1..8b49511c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema49.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema49.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 4.9.
+ * This class implements the database schema for Libresonic version 4.9.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema50.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema50.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema50.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema50.java
index 917bf6e0..8db91f62 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema50.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema50.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 5.0.
+ * This class implements the database schema for Libresonic version 5.0.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema51.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema51.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema51.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema51.java
index 87295d6d..cccd762d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema51.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema51.java
@@ -1,31 +1,31 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 5.1.
+ * This class implements the database schema for Libresonic version 5.1.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema52.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema52.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema52.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema52.java
index 36e40c0f..2853c256 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema52.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema52.java
@@ -1,31 +1,31 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 5.2.
+ * This class implements the database schema for Libresonic version 5.2.
*
* @author Sindre Mehus
*/
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema53.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema53.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema53.java
rename to libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema53.java
index 8578a6c1..9ebead30 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/dao/schema/hsql/Schema53.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema53.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.dao.schema.hsql;
+package org.libresonic.player.dao.schema.hsql;
import org.springframework.jdbc.core.JdbcTemplate;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.schema.Schema;
-import net.sourceforge.subsonic.domain.AlbumListType;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
+import org.libresonic.player.domain.AlbumListType;
/**
* Used for creating and evolving the database schema.
- * This class implements the database schema for Subsonic version 5.3.
+ * This class implements the database schema for Libresonic version 5.3.
*
* @author Sindre Mehus
*/
diff --git a/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema61.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema61.java
new file mode 100644
index 00000000..d2634efa
--- /dev/null
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema61.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of Libresonic.
+ *
+ * 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.
+ *
+ * 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 Libresonic. If not, see .
+ */
+package org.libresonic.player.dao.schema.hsql;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
+
+/**
+ * Used for creating and evolving the database schema.
+ * This class implements the database schema for Libresonic version 6.1.
+ *
+ * @author François-Xavier Thomas
+ */
+public class Schema61 extends Schema {
+
+ private static final Logger LOG = Logger.getLogger(Schema61.class);
+
+ @Override
+ public void execute(JdbcTemplate template) {
+
+ if (template.queryForInt("select count(*) from version where version = 26") == 0) {
+ LOG.info("Updating database schema to version 26.");
+ template.execute("insert into version values (26)");
+ }
+
+ if (!columnExists(template, "list_reload_delay", "user_settings")) {
+ LOG.info("Database column 'user_settings.list_reload_delay' not found. Creating it.");
+ template.execute("alter table user_settings add list_reload_delay int default 60 not null");
+ LOG.info("Database column 'user_settings.list_reload_delay' was added successfully.");
+ }
+ }
+}
diff --git a/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema62.java b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema62.java
new file mode 100644
index 00000000..0e945944
--- /dev/null
+++ b/libresonic-main/src/main/java/org/libresonic/player/dao/schema/hsql/Schema62.java
@@ -0,0 +1,48 @@
+/*
+ * This file is part of Libresonic.
+ *
+ * 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.
+ *
+ * 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 Libresonic. If not, see .
+ */
+package org.libresonic.player.dao.schema.hsql;
+
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.schema.Schema;
+
+/**
+ * Used for creating and evolving the database schema.
+ * This class implements the database schema for Libresonic version 6.1.
+ *
+ * @author Shen-Ta Hsieh
+ */
+public class Schema62 extends Schema {
+
+ private static final Logger LOG = Logger.getLogger(Schema62.class);
+
+ @Override
+ public void execute(JdbcTemplate template) {
+
+ if (template.queryForInt("select count(*) from version where version = 27") == 0) {
+ LOG.info("Updating database schema to version 27.");
+ template.execute("insert into version values (27)");
+ }
+
+ if (!columnExists(template, "player", "m3u_bom_enabled")) {
+ LOG.info("Database column 'player.m3u_bom_enabled' not found. Creating it.");
+ template.execute("alter table player add m3u_bom_enabled boolean default false not null");
+ LOG.info("Database column 'player.m3u_bom_enabled' was added successfully.");
+ }
+ }
+}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Album.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Album.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Album.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Album.java
index 93bea91c..c7cec5cf 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Album.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Album.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/AlbumListType.java b/libresonic-main/src/main/java/org/libresonic/player/domain/AlbumListType.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/AlbumListType.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/AlbumListType.java
index 7508588e..5356da01 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/AlbumListType.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/AlbumListType.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Artist.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Artist.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Artist.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Artist.java
index ef50da28..c2984e40 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Artist.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Artist.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/ArtistBio.java b/libresonic-main/src/main/java/org/libresonic/player/domain/ArtistBio.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/ArtistBio.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/ArtistBio.java
index 02f8f40a..f12af5cf 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/ArtistBio.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/ArtistBio.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Avatar.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Avatar.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Avatar.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Avatar.java
index 0089a8a3..320a9e5c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Avatar.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Avatar.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/AvatarScheme.java b/libresonic-main/src/main/java/org/libresonic/player/domain/AvatarScheme.java
similarity index 71%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/AvatarScheme.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/AvatarScheme.java
index 024dcb24..a39da8f0 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/AvatarScheme.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/AvatarScheme.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Enumeration of avatar schemes.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Bookmark.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Bookmark.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Bookmark.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Bookmark.java
index 9daf6df1..28b709e3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Bookmark.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Bookmark.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/CacheElement.java b/libresonic-main/src/main/java/org/libresonic/player/domain/CacheElement.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/CacheElement.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/CacheElement.java
index bb52eff7..bc5e36e9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/CacheElement.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/CacheElement.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/CoverArtScheme.java b/libresonic-main/src/main/java/org/libresonic/player/domain/CoverArtScheme.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/CoverArtScheme.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/CoverArtScheme.java
index 8e43f875..9dc97959 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/CoverArtScheme.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/CoverArtScheme.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Enumeration of cover art schemes. Each value contains a size, which indicates how big the
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Genre.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Genre.java
similarity index 76%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Genre.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Genre.java
index f6dcce1c..b37cd6cb 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Genre.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Genre.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Represents a musical genre.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Genres.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Genres.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Genres.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Genres.java
index 3f249a43..fcf505e0 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Genres.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Genres.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/InternetRadio.java b/libresonic-main/src/main/java/org/libresonic/player/domain/InternetRadio.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/InternetRadio.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/InternetRadio.java
index ae0c1f67..886d94b8 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/InternetRadio.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/InternetRadio.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/LicenseInfo.java b/libresonic-main/src/main/java/org/libresonic/player/domain/LicenseInfo.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/LicenseInfo.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/LicenseInfo.java
index 4e61ce79..ca56766a 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/LicenseInfo.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/LicenseInfo.java
@@ -1,28 +1,29 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.service.SettingsService;
/**
* Controller for the "Podcast receiver" page.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java b/libresonic-main/src/main/java/org/libresonic/player/domain/MediaFile.java
similarity index 96%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/MediaFile.java
index 2ac11eed..98590c20 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFile.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/MediaFile.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.io.File;
import java.util.Date;
@@ -27,7 +28,7 @@ import org.apache.commons.io.FilenameUtils;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.util.FileUtil;
/**
* A media file (audio, video or directory) with an assortment of its meta data.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFileComparator.java b/libresonic-main/src/main/java/org/libresonic/player/domain/MediaFileComparator.java
similarity index 86%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFileComparator.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/MediaFileComparator.java
index 70caf0fe..4b5500c8 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaFileComparator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/MediaFileComparator.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Comparator;
-import static net.sourceforge.subsonic.domain.MediaFile.MediaType.DIRECTORY;
+import static org.libresonic.player.domain.MediaFile.MediaType.DIRECTORY;
/**
* Comparator for sorting media files.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaLibraryStatistics.java b/libresonic-main/src/main/java/org/libresonic/player/domain/MediaLibraryStatistics.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaLibraryStatistics.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/MediaLibraryStatistics.java
index a01fd5e9..aeba1b89 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MediaLibraryStatistics.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/MediaLibraryStatistics.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.util.StringUtil;
/**
* Contains media libaray statistics, including the number of artists, albums and songs.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicFolder.java b/libresonic-main/src/main/java/org/libresonic/player/domain/MusicFolder.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicFolder.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/MusicFolder.java
index c539d21d..b08e5fb8 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicFolder.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/MusicFolder.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.io.File;
import java.io.Serializable;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicFolderContent.java b/libresonic-main/src/main/java/org/libresonic/player/domain/MusicFolderContent.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicFolderContent.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/MusicFolderContent.java
index 444e584e..a0d80cd1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicFolderContent.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/MusicFolderContent.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.List;
import java.util.SortedMap;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicIndex.java b/libresonic-main/src/main/java/org/libresonic/player/domain/MusicIndex.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicIndex.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/MusicIndex.java
index 33cf1fb3..4f0c5bf7 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/MusicIndex.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/MusicIndex.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.io.Serializable;
import java.text.CollationKey;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayQueue.java b/libresonic-main/src/main/java/org/libresonic/player/domain/PlayQueue.java
similarity index 96%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayQueue.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/PlayQueue.java
index 8b52db81..2cc2ae42 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayQueue.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/PlayQueue.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.io.IOException;
import java.util.ArrayList;
@@ -240,7 +241,8 @@ public class PlayQueue {
MediaFile currentFile = getCurrentFile();
Collections.shuffle(files);
if (currentFile != null) {
- index = files.indexOf(currentFile);
+ Collections.swap(files, files.indexOf(currentFile), 0);
+ index = 0;
}
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayStatus.java b/libresonic-main/src/main/java/org/libresonic/player/domain/PlayStatus.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayStatus.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/PlayStatus.java
index 32d58c15..28c5e54a 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayStatus.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/PlayStatus.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Player.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Player.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Player.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Player.java
index 450293ee..9ef3fa38 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Player.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Player.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import org.apache.commons.lang.StringUtils;
@@ -39,6 +40,7 @@ public class Player {
private String ipAddress;
private boolean isDynamicIp = true;
private boolean isAutoControlEnabled = true;
+ private boolean isM3uBomEnabled = true;
private Date lastSeen;
private TranscodeScheme transcodeScheme = TranscodeScheme.OFF;
private PlayQueue playQueue;
@@ -90,7 +92,7 @@ public class Player {
/**
* Returns the third-party client ID (used if this player is managed over the
- * Subsonic REST API).
+ * Libresonic REST API).
*
* @return The client ID.
*/
@@ -100,7 +102,7 @@ public class Player {
/**
* Sets the third-party client ID (used if this player is managed over the
- * Subsonic REST API).
+ * Libresonic REST API).
*
* @param clientId The client ID.
*/
@@ -187,6 +189,24 @@ public class Player {
this.isAutoControlEnabled = isAutoControlEnabled;
}
+ /**
+ * Returns whether apply BOM mark when generating a M3U file.
+ *
+ * @return Whether apply BOM mark when generating a M3U file.
+ */
+ public boolean isM3uBomEnabled() {
+ return isM3uBomEnabled;
+ }
+
+ /**
+ * Sets whether apply BOM mark when generating a M3U file.
+ *
+ * @param isM3uBomEnabled Whether apply BOM mark when generating a M3U file.
+ */
+ public void setM3uBomEnabled(boolean isM3uBomEnabled) {
+ this.isM3uBomEnabled = isM3uBomEnabled;
+ }
+
/**
* Returns the time when the player was last seen.
*
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayerTechnology.java b/libresonic-main/src/main/java/org/libresonic/player/domain/PlayerTechnology.java
similarity index 66%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayerTechnology.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/PlayerTechnology.java
index 5ba3ff71..8562e4a9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PlayerTechnology.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/PlayerTechnology.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Enumeration of player technologies.
@@ -36,13 +37,13 @@ public enum PlayerTechnology {
EXTERNAL,
/**
- * Same as above, but the playlist is managed by the player, rather than the Subsonic server.
+ * Same as above, but the playlist is managed by the player, rather than the Libresonic server.
* In this mode, skipping within songs is possible.
*/
EXTERNAL_WITH_PLAYLIST,
/**
- * Plays music directly on the audio device of the Subsonic server.
+ * Plays music directly on the audio device of the Libresonic server.
*/
JUKEBOX
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Playlist.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Playlist.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Playlist.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Playlist.java
index e43fb21c..214a1f79 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Playlist.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Playlist.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.util.StringUtil;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastChannel.java b/libresonic-main/src/main/java/org/libresonic/player/domain/PodcastChannel.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastChannel.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/PodcastChannel.java
index 98db7a37..2b0045be 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastChannel.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/PodcastChannel.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* A Podcast channel. Each channel contain several episodes.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastEpisode.java b/libresonic-main/src/main/java/org/libresonic/player/domain/PodcastEpisode.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastEpisode.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/PodcastEpisode.java
index 3a9b6741..d0e28040 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastEpisode.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/PodcastEpisode.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.util.StringUtil;
/**
* A Podcast episode belonging to a channel.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastStatus.java b/libresonic-main/src/main/java/org/libresonic/player/domain/PodcastStatus.java
similarity index 63%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastStatus.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/PodcastStatus.java
index 57cad155..e8deeec4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/PodcastStatus.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/PodcastStatus.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Enumeration of statuses for {@link PodcastChannel} and
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/RandomSearchCriteria.java b/libresonic-main/src/main/java/org/libresonic/player/domain/RandomSearchCriteria.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/RandomSearchCriteria.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/RandomSearchCriteria.java
index c57555bd..a192350e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/RandomSearchCriteria.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/RandomSearchCriteria.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.List;
@@ -24,7 +25,7 @@ import java.util.List;
* Defines criteria used when generating random playlists.
*
* @author Sindre Mehus
- * @see net.sourceforge.subsonic.service.SearchService#getRandomSongs
+ * @see org.libresonic.player.service.SearchService#getRandomSongs
*/
public class RandomSearchCriteria {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SavedPlayQueue.java b/libresonic-main/src/main/java/org/libresonic/player/domain/SavedPlayQueue.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SavedPlayQueue.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/SavedPlayQueue.java
index 5f8d1358..1e4a3ce1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SavedPlayQueue.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/SavedPlayQueue.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
import java.util.List;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SearchCriteria.java b/libresonic-main/src/main/java/org/libresonic/player/domain/SearchCriteria.java
similarity index 71%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SearchCriteria.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/SearchCriteria.java
index 63596d1f..dfa300ee 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SearchCriteria.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/SearchCriteria.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
-import net.sourceforge.subsonic.service.SearchService;
+import org.libresonic.player.service.SearchService;
/**
* Defines criteria used when searching.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SearchResult.java b/libresonic-main/src/main/java/org/libresonic/player/domain/SearchResult.java
similarity index 74%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SearchResult.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/SearchResult.java
index bf4b370a..a104a291 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/SearchResult.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/SearchResult.java
@@ -1,28 +1,29 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.ArrayList;
import java.util.List;
-import net.sourceforge.subsonic.service.MediaScannerService;
-import net.sourceforge.subsonic.service.SearchService;
+import org.libresonic.player.service.MediaScannerService;
+import org.libresonic.player.service.SearchService;
/**
* The outcome of a search.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Share.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Share.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Share.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Share.java
index 6c75c5c1..161a7862 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Share.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Share.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Theme.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Theme.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Theme.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Theme.java
index 37483520..795cfe5e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Theme.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Theme.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Contains the ID and name for a theme.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/TranscodeScheme.java b/libresonic-main/src/main/java/org/libresonic/player/domain/TranscodeScheme.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/TranscodeScheme.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/TranscodeScheme.java
index a43a8a16..1c5b75f1 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/TranscodeScheme.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/TranscodeScheme.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Enumeration of transcoding schemes. Transcoding is the process of
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Transcoding.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Transcoding.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Transcoding.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Transcoding.java
index 57c8316f..8cd95def 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Transcoding.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Transcoding.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.util.StringUtil;
/**
* Contains the configuration for a transcoding, i.e., a specification of how a given media format
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/TransferStatus.java b/libresonic-main/src/main/java/org/libresonic/player/domain/TransferStatus.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/TransferStatus.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/TransferStatus.java
index 06930ae3..d9269e50 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/TransferStatus.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/TransferStatus.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.io.File;
-import net.sourceforge.subsonic.util.BoundedList;
+import org.libresonic.player.util.BoundedList;
/**
* Status for a single transfer (stream, download or upload).
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/UrlRedirectType.java b/libresonic-main/src/main/java/org/libresonic/player/domain/UrlRedirectType.java
similarity index 67%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/UrlRedirectType.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/UrlRedirectType.java
index 23c75815..83329570 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/UrlRedirectType.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/UrlRedirectType.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/User.java b/libresonic-main/src/main/java/org/libresonic/player/domain/User.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/User.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/User.java
index fb7e1d7e..1c4dba82 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/User.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/User.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Represent a user.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/UserSettings.java b/libresonic-main/src/main/java/org/libresonic/player/domain/UserSettings.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/UserSettings.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/UserSettings.java
index f0e0fcdd..05a9139c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/UserSettings.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/UserSettings.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
import java.util.Date;
import java.util.Locale;
@@ -45,6 +46,7 @@ public class UserSettings {
private Visibility mainVisibility = new Visibility();
private Visibility playlistVisibility = new Visibility();
private boolean lastFmEnabled;
+ private int listReloadDelay;
private String lastFmUsername;
private String lastFmPassword;
private TranscodeScheme transcodeScheme = TranscodeScheme.OFF;
@@ -155,6 +157,14 @@ public class UserSettings {
this.lastFmEnabled = lastFmEnabled;
}
+ public int getListReloadDelay() {
+ return listReloadDelay;
+ }
+
+ public void setListReloadDelay(int listReloadDelay) {
+ this.listReloadDelay = listReloadDelay;
+ }
+
public String getLastFmUsername() {
return lastFmUsername;
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Version.java b/libresonic-main/src/main/java/org/libresonic/player/domain/Version.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Version.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/Version.java
index fd329f8a..8b105e28 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/Version.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/Version.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
- * Represents the version number of Subsonic.
+ * Represents the version number of Libresonic.
*
* @author Sindre Mehus
* @version $Revision: 1.3 $ $Date: 2006/01/20 21:25:16 $
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/VideoTranscodingSettings.java b/libresonic-main/src/main/java/org/libresonic/player/domain/VideoTranscodingSettings.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/domain/VideoTranscodingSettings.java
rename to libresonic-main/src/main/java/org/libresonic/player/domain/VideoTranscodingSettings.java
index 06793a92..163d7bfd 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/domain/VideoTranscodingSettings.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/domain/VideoTranscodingSettings.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.domain;
+package org.libresonic.player.domain;
/**
* Parameters used when transcoding videos.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/BootstrapVerificationFilter.java b/libresonic-main/src/main/java/org/libresonic/player/filter/BootstrapVerificationFilter.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/filter/BootstrapVerificationFilter.java
rename to libresonic-main/src/main/java/org/libresonic/player/filter/BootstrapVerificationFilter.java
index 57e100ab..a0f1a0d3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/BootstrapVerificationFilter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/filter/BootstrapVerificationFilter.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.filter;
+package org.libresonic.player.filter;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.service.SettingsService;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -36,10 +37,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
/**
* This filter is executed very early in the filter chain. It verifies that
- * the Subsonic home directory (c:\subsonic or /var/subsonic) exists and
+ * the Libresonic home directory (c:\libresonic or /var/libresonic) exists and
* is writable. If not, a proper error message is given to the user.
*
- * (The Subsonic home directory is usually created automatically, but a common
+ * (The Libresonic home directory is usually created automatically, but a common
* problem on Linux is that the Tomcat user does not have the necessary
* privileges).
*
@@ -48,33 +49,33 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class BootstrapVerificationFilter implements Filter {
private static final Logger LOG = Logger.getLogger(BootstrapVerificationFilter.class);
- private boolean subsonicHomeVerified = false;
+ private boolean libresonicHomeVerified = false;
private final AtomicBoolean serverInfoLogged = new AtomicBoolean();
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
throws IOException, ServletException {
// Already verified?
- if (subsonicHomeVerified) {
+ if (libresonicHomeVerified) {
chain.doFilter(req, res);
return;
}
- File home = SettingsService.getSubsonicHome();
+ File home = SettingsService.getLibresonicHome();
if (!directoryExists(home)) {
error(res, "
The directory " + home + " does not exist. Please create it and make it writable, " +
"then restart the servlet container.
" +
- "
(You can override the directory location by specifying -Dsubsonic.home=... when " +
+ "
(You can override the directory location by specifying -Dlibresonic.home=... when " +
"starting the servlet container.)
");
} else if (!directoryWritable(home)) {
error(res, "
The directory " + home + " is not writable. Please change file permissions, " +
"then restart the servlet container.
" +
- "
(You can override the directory location by specifying -Dsubsonic.home=... when " +
+ "
(You can override the directory location by specifying -Dlibresonic.home=... when " +
"starting the servlet container.)
" +
error +
"" +
"");
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/ParameterDecodingFilter.java b/libresonic-main/src/main/java/org/libresonic/player/filter/ParameterDecodingFilter.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/filter/ParameterDecodingFilter.java
rename to libresonic-main/src/main/java/org/libresonic/player/filter/ParameterDecodingFilter.java
index 52a98ad0..019784ba 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/ParameterDecodingFilter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/filter/ParameterDecodingFilter.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.filter;
+package org.libresonic.player.filter;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.util.StringUtil;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/RESTFilter.java b/libresonic-main/src/main/java/org/libresonic/player/filter/RESTFilter.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/filter/RESTFilter.java
rename to libresonic-main/src/main/java/org/libresonic/player/filter/RESTFilter.java
index 07dca5f0..2140c217 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/RESTFilter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/filter/RESTFilter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.filter;
+package org.libresonic.player.filter;
import java.io.IOException;
@@ -32,12 +33,12 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.util.NestedServletException;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.controller.JAXBWriter;
-import net.sourceforge.subsonic.controller.RESTController;
+import org.libresonic.player.Logger;
+import org.libresonic.player.controller.JAXBWriter;
+import org.libresonic.player.controller.RESTController;
-import static net.sourceforge.subsonic.controller.RESTController.ErrorCode.GENERIC;
-import static net.sourceforge.subsonic.controller.RESTController.ErrorCode.MISSING_PARAMETER;
+import static org.libresonic.player.controller.RESTController.ErrorCode.GENERIC;
+import static org.libresonic.player.controller.RESTController.ErrorCode.MISSING_PARAMETER;
/**
* Intercepts exceptions thrown by RESTController.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/RequestEncodingFilter.java b/libresonic-main/src/main/java/org/libresonic/player/filter/RequestEncodingFilter.java
similarity index 78%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/filter/RequestEncodingFilter.java
rename to libresonic-main/src/main/java/org/libresonic/player/filter/RequestEncodingFilter.java
index 3b37e8d4..6deeb3ab 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/RequestEncodingFilter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/filter/RequestEncodingFilter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.filter;
+package org.libresonic.player.filter;
import javax.servlet.*;
import javax.servlet.http.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/ResponseHeaderFilter.java b/libresonic-main/src/main/java/org/libresonic/player/filter/ResponseHeaderFilter.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/filter/ResponseHeaderFilter.java
rename to libresonic-main/src/main/java/org/libresonic/player/filter/ResponseHeaderFilter.java
index 58f6e2d6..48b3959b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/filter/ResponseHeaderFilter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/filter/ResponseHeaderFilter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.filter;
+package org.libresonic.player.filter;
import javax.servlet.*;
import javax.servlet.http.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/i18n/SubsonicLocaleResolver.java b/libresonic-main/src/main/java/org/libresonic/player/i18n/LibresonicLocaleResolver.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/i18n/SubsonicLocaleResolver.java
rename to libresonic-main/src/main/java/org/libresonic/player/i18n/LibresonicLocaleResolver.java
index 231ad6e7..68bfe5d2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/i18n/SubsonicLocaleResolver.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/i18n/LibresonicLocaleResolver.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.i18n;
+package org.libresonic.player.i18n;
-import net.sourceforge.subsonic.service.*;
-import net.sourceforge.subsonic.domain.*;
+import org.libresonic.player.service.*;
+import org.libresonic.player.domain.*;
import org.springframework.web.servlet.*;
import javax.servlet.http.*;
@@ -30,7 +31,7 @@ import java.util.*;
*
* @author Sindre Mehus
*/
-public class SubsonicLocaleResolver implements LocaleResolver {
+public class LibresonicLocaleResolver implements LocaleResolver {
private SecurityService securityService;
private SettingsService settingsService;
@@ -43,14 +44,14 @@ public class SubsonicLocaleResolver implements LocaleResolver {
* @return The current locale.
*/
public Locale resolveLocale(HttpServletRequest request) {
- Locale locale = (Locale) request.getAttribute("subsonic.locale");
+ Locale locale = (Locale) request.getAttribute("libresonic.locale");
if (locale != null) {
return locale;
}
// Optimization: Cache locale in the request.
locale = doResolveLocale(request);
- request.setAttribute("subsonic.locale", locale);
+ request.setAttribute("libresonic.locale", locale);
return locale;
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/InputStreamReaderThread.java b/libresonic-main/src/main/java/org/libresonic/player/io/InputStreamReaderThread.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/io/InputStreamReaderThread.java
rename to libresonic-main/src/main/java/org/libresonic/player/io/InputStreamReaderThread.java
index 44292043..9568cbd9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/InputStreamReaderThread.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/io/InputStreamReaderThread.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.io;
+package org.libresonic.player.io;
-import net.sourceforge.subsonic.*;
+import org.libresonic.player.*;
import org.apache.commons.io.*;
import java.io.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/PlayQueueInputStream.java b/libresonic-main/src/main/java/org/libresonic/player/io/PlayQueueInputStream.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/io/PlayQueueInputStream.java
rename to libresonic-main/src/main/java/org/libresonic/player/io/PlayQueueInputStream.java
index 8aaf718c..5277209d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/PlayQueueInputStream.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/io/PlayQueueInputStream.java
@@ -1,42 +1,43 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.io;
+package org.libresonic.player.io;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.domain.VideoTranscodingSettings;
-import net.sourceforge.subsonic.service.AudioScrobblerService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.service.sonos.SonosHelper;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.TransferStatus;
+import org.libresonic.player.domain.VideoTranscodingSettings;
+import org.libresonic.player.service.AudioScrobblerService;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.service.sonos.SonosHelper;
+import org.libresonic.player.util.FileUtil;
/**
- * Implementation of {@link InputStream} which reads from a {@link net.sourceforge.subsonic.domain.PlayQueue}.
+ * Implementation of {@link InputStream} which reads from a {@link org.libresonic.player.domain.PlayQueue}.
*
* @author Sindre Mehus
*/
@@ -123,7 +124,7 @@ public class PlayQueueInputStream extends InputStream {
mediaFileService.incrementPlayCount(file);
// Don't scrobble REST players (except Sonos)
- if (player.getClientId() == null || player.getClientId().equals(SonosHelper.SUBSONIC_CLIENT_ID)) {
+ if (player.getClientId() == null || player.getClientId().equals(SonosHelper.LIBRESONIC_CLIENT_ID)) {
audioScrobblerService.register(file, player.getUsername(), false, null);
}
@@ -148,7 +149,7 @@ public class PlayQueueInputStream extends InputStream {
}
} finally {
// Don't scrobble REST players (except Sonos)
- if (player.getClientId() == null || player.getClientId().equals(SonosHelper.SUBSONIC_CLIENT_ID)) {
+ if (player.getClientId() == null || player.getClientId().equals(SonosHelper.LIBRESONIC_CLIENT_ID)) {
audioScrobblerService.register(currentFile, player.getUsername(), true, null);
}
currentInputStream = null;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/RangeOutputStream.java b/libresonic-main/src/main/java/org/libresonic/player/io/RangeOutputStream.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/io/RangeOutputStream.java
rename to libresonic-main/src/main/java/org/libresonic/player/io/RangeOutputStream.java
index 01931fa1..59462a24 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/RangeOutputStream.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/io/RangeOutputStream.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.io;
+package org.libresonic.player.io;
-import net.sourceforge.subsonic.util.HttpRange;
+import org.libresonic.player.util.HttpRange;
import java.io.FilterOutputStream;
import java.io.IOException;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/ShoutCastOutputStream.java b/libresonic-main/src/main/java/org/libresonic/player/io/ShoutCastOutputStream.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/io/ShoutCastOutputStream.java
rename to libresonic-main/src/main/java/org/libresonic/player/io/ShoutCastOutputStream.java
index 9a8618c6..b7b4d8f3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/ShoutCastOutputStream.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/io/ShoutCastOutputStream.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.io;
+package org.libresonic.player.io;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.service.SettingsService;
import org.apache.commons.lang.StringUtils;
import java.io.IOException;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/TranscodeInputStream.java b/libresonic-main/src/main/java/org/libresonic/player/io/TranscodeInputStream.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/io/TranscodeInputStream.java
rename to libresonic-main/src/main/java/org/libresonic/player/io/TranscodeInputStream.java
index b7ba4ce2..c474bfd2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/io/TranscodeInputStream.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/io/TranscodeInputStream.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.io;
+package org.libresonic.player.io;
-import net.sourceforge.subsonic.*;
+import org.libresonic.player.*;
import org.apache.commons.io.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ldap/SubsonicLdapBindAuthenticator.java b/libresonic-main/src/main/java/org/libresonic/player/ldap/LibresonicLdapBindAuthenticator.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ldap/SubsonicLdapBindAuthenticator.java
rename to libresonic-main/src/main/java/org/libresonic/player/ldap/LibresonicLdapBindAuthenticator.java
index fee4ff2c..3591f944 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ldap/SubsonicLdapBindAuthenticator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ldap/LibresonicLdapBindAuthenticator.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ldap;
+package org.libresonic.player.ldap;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
import org.acegisecurity.BadCredentialsException;
import org.acegisecurity.ldap.DefaultInitialDirContextFactory;
import org.acegisecurity.ldap.search.FilterBasedLdapUserSearch;
@@ -39,9 +40,9 @@ import java.util.Map;
*
* @author Sindre Mehus
*/
-public class SubsonicLdapBindAuthenticator implements LdapAuthenticator {
+public class LibresonicLdapBindAuthenticator implements LdapAuthenticator {
- private static final Logger LOG = Logger.getLogger(SubsonicLdapBindAuthenticator.class);
+ private static final Logger LOG = Logger.getLogger(LibresonicLdapBindAuthenticator.class);
private SecurityService securityService;
private SettingsService settingsService;
@@ -56,7 +57,7 @@ public class SubsonicLdapBindAuthenticator implements LdapAuthenticator {
throw new BadCredentialsException("LDAP authentication disabled.");
}
- // User must be defined in Subsonic, unless auto-shadowing is enabled.
+ // User must be defined in Libresonic, unless auto-shadowing is enabled.
User user = securityService.getUserByName(username);
if (user == null && !settingsService.isLdapAutoShadowing()) {
throw new BadCredentialsException("User does not exist.");
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/ldap/UserDetailsServiceBasedAuthoritiesPopulator.java b/libresonic-main/src/main/java/org/libresonic/player/ldap/UserDetailsServiceBasedAuthoritiesPopulator.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/ldap/UserDetailsServiceBasedAuthoritiesPopulator.java
rename to libresonic-main/src/main/java/org/libresonic/player/ldap/UserDetailsServiceBasedAuthoritiesPopulator.java
index a3b9359e..81f4e3ef 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/ldap/UserDetailsServiceBasedAuthoritiesPopulator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/ldap/UserDetailsServiceBasedAuthoritiesPopulator.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.ldap;
+package org.libresonic.player.ldap;
import org.acegisecurity.GrantedAuthority;
import org.acegisecurity.ldap.LdapDataAccessException;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/security/SubsonicApplicationEventListener.java b/libresonic-main/src/main/java/org/libresonic/player/security/LibresonicApplicationEventListener.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/security/SubsonicApplicationEventListener.java
rename to libresonic-main/src/main/java/org/libresonic/player/security/LibresonicApplicationEventListener.java
index b4fe5ed6..48469d42 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/security/SubsonicApplicationEventListener.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/security/LibresonicApplicationEventListener.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.security;
+package org.libresonic.player.security;
import org.acegisecurity.event.authentication.AbstractAuthenticationFailureEvent;
import org.acegisecurity.providers.AbstractAuthenticationToken;
@@ -29,7 +29,7 @@ import org.springframework.context.ApplicationListener;
* @author Sindre Mehus
* @version $Id$
*/
-public class SubsonicApplicationEventListener implements ApplicationListener {
+public class LibresonicApplicationEventListener implements ApplicationListener {
private LoginFailureLogger loginFailureLogger;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/security/LoginFailureLogger.java b/libresonic-main/src/main/java/org/libresonic/player/security/LoginFailureLogger.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/security/LoginFailureLogger.java
rename to libresonic-main/src/main/java/org/libresonic/player/security/LoginFailureLogger.java
index d52c3e35..0e7b056e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/security/LoginFailureLogger.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/security/LoginFailureLogger.java
@@ -1,25 +1,25 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.security;
+package org.libresonic.player.security;
-import net.sourceforge.subsonic.Logger;
+import org.libresonic.player.Logger;
/**
* Logs login failures. Can be used by tools like fail2ban for blocking IP addresses.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/security/RESTRequestParameterProcessingFilter.java b/libresonic-main/src/main/java/org/libresonic/player/security/RESTRequestParameterProcessingFilter.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/security/RESTRequestParameterProcessingFilter.java
rename to libresonic-main/src/main/java/org/libresonic/player/security/RESTRequestParameterProcessingFilter.java
index 2f930bfe..9081c372 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/security/RESTRequestParameterProcessingFilter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/security/RESTRequestParameterProcessingFilter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.security;
+package org.libresonic.player.security;
import java.io.IOException;
@@ -37,15 +38,15 @@ import org.acegisecurity.providers.UsernamePasswordAuthenticationToken;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.controller.JAXBWriter;
-import net.sourceforge.subsonic.controller.RESTController;
-import net.sourceforge.subsonic.domain.LicenseInfo;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.Version;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.controller.JAXBWriter;
+import org.libresonic.player.controller.RESTController;
+import org.libresonic.player.domain.LicenseInfo;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.Version;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.util.StringUtil;
/**
* Performs authentication based on credentials being present in the HTTP request parameters. Also checks
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/AdService.java b/libresonic-main/src/main/java/org/libresonic/player/service/AdService.java
similarity index 70%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/AdService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/AdService.java
index b28d9d16..6f108fb2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/AdService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/AdService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
/**
* Provides services for generating ads.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/AudioScrobblerService.java b/libresonic-main/src/main/java/org/libresonic/player/service/AudioScrobblerService.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/AudioScrobblerService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/AudioScrobblerService.java
index eb1c99cf..fcdc76fc 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/AudioScrobblerService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/AudioScrobblerService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.IOException;
import java.util.ArrayList;
@@ -39,10 +40,10 @@ import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpConnectionParams;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.util.StringUtil;
/**
* Provides services for "audioscrobbling", which is the process of
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/ITunesParser.java b/libresonic-main/src/main/java/org/libresonic/player/service/ITunesParser.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/ITunesParser.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/ITunesParser.java
index 03482b27..1b661d62 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/ITunesParser.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/ITunesParser.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.FileInputStream;
@@ -41,7 +41,7 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.util.StringUtil;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/JukeboxService.java b/libresonic-main/src/main/java/org/libresonic/player/service/JukeboxService.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/JukeboxService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/JukeboxService.java
index 0ef74602..f0265e19 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/JukeboxService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/JukeboxService.java
@@ -1,39 +1,40 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PlayQueue;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Transcoding;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.domain.VideoTranscodingSettings;
-import net.sourceforge.subsonic.service.jukebox.AudioPlayer;
-import net.sourceforge.subsonic.util.FileUtil;
-
-import static net.sourceforge.subsonic.service.jukebox.AudioPlayer.State.EOM;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PlayQueue;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Transcoding;
+import org.libresonic.player.domain.TransferStatus;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.domain.VideoTranscodingSettings;
+import org.libresonic.player.service.jukebox.AudioPlayer;
+import org.libresonic.player.util.FileUtil;
+
+import static org.libresonic.player.service.jukebox.AudioPlayer.State.EOM;
/**
* Plays music on the local audio device.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/LastFmCache.java b/libresonic-main/src/main/java/org/libresonic/player/service/LastFmCache.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/LastFmCache.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/LastFmCache.java
index ca9bbc7e..a7b01f91 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/LastFmCache.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/LastFmCache.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.ByteArrayInputStream;
import java.io.File;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/LastFmService.java b/libresonic-main/src/main/java/org/libresonic/player/service/LastFmService.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/LastFmService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/LastFmService.java
index b3baa72c..fcb75ce6 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/LastFmService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/LastFmService.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.IOException;
@@ -34,12 +34,12 @@ import de.umass.lastfm.Artist;
import de.umass.lastfm.Caller;
import de.umass.lastfm.ImageSize;
import de.umass.lastfm.Track;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.ArtistDao;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.ArtistBio;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.ArtistDao;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.ArtistBio;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
/**
* Provides services from the Last.fm REST API.
@@ -59,9 +59,9 @@ public class LastFmService {
public void init() {
Caller caller = Caller.getInstance();
- caller.setUserAgent("Subsonic");
+ caller.setUserAgent("Libresonic");
- File cacheDir = new File(SettingsService.getSubsonicHome(), "lastfmcache");
+ File cacheDir = new File(SettingsService.getLibresonicHome(), "lastfmcache");
caller.setCache(new LastFmCache(cacheDir, CACHE_TIME_TO_LIVE_MILLIS));
}
@@ -126,16 +126,16 @@ public class LastFmService {
* @param musicFolders Only return songs from artists in these folders.
* @return Similar artists, ordered by presence then similarity.
*/
- public List getSimilarArtists(net.sourceforge.subsonic.domain.Artist artist,
+ public List getSimilarArtists(org.libresonic.player.domain.Artist artist,
int count, boolean includeNotPresent, List musicFolders) {
- List result = new ArrayList();
+ List result = new ArrayList();
try {
// First select artists that are present.
Collection similarArtists = Artist.getSimilar(getCanonicalArtistName(artist.getName()), LAST_FM_KEY);
for (Artist lastFmArtist : similarArtists) {
- net.sourceforge.subsonic.domain.Artist similarArtist = artistDao.getArtist(lastFmArtist.getName(), musicFolders);
+ org.libresonic.player.domain.Artist similarArtist = artistDao.getArtist(lastFmArtist.getName(), musicFolders);
if (similarArtist != null) {
result.add(similarArtist);
if (result.size() == count) {
@@ -147,9 +147,9 @@ public class LastFmService {
// Then fill up with non-present artists
if (includeNotPresent) {
for (Artist lastFmArtist : similarArtists) {
- net.sourceforge.subsonic.domain.Artist similarArtist = artistDao.getArtist(lastFmArtist.getName());
+ org.libresonic.player.domain.Artist similarArtist = artistDao.getArtist(lastFmArtist.getName());
if (similarArtist == null) {
- net.sourceforge.subsonic.domain.Artist notPresentArtist = new net.sourceforge.subsonic.domain.Artist();
+ org.libresonic.player.domain.Artist notPresentArtist = new org.libresonic.player.domain.Artist();
notPresentArtist.setId(-1);
notPresentArtist.setName(lastFmArtist.getName());
result.add(notPresentArtist);
@@ -174,12 +174,12 @@ public class LastFmService {
* @param musicFolders Only return songs from artists in these folders.
* @return Songs from similar artists;
*/
- public List getSimilarSongs(net.sourceforge.subsonic.domain.Artist artist, int count,
+ public List getSimilarSongs(org.libresonic.player.domain.Artist artist, int count,
List musicFolders) throws IOException {
List similarSongs = new ArrayList();
similarSongs.addAll(mediaFileDao.getSongsByArtist(artist.getName(), 0, 1000));
- for (net.sourceforge.subsonic.domain.Artist similarArtist : getSimilarArtists(artist, 100, false, musicFolders)) {
+ for (org.libresonic.player.domain.Artist similarArtist : getSimilarArtists(artist, 100, false, musicFolders)) {
similarSongs.addAll(mediaFileDao.getSongsByArtist(similarArtist.getName(), 0, 1000));
}
Collections.shuffle(similarSongs);
@@ -226,7 +226,7 @@ public class LastFmService {
* @param artist The artist.
* @return Artist bio.
*/
- public ArtistBio getArtistBio(net.sourceforge.subsonic.domain.Artist artist) {
+ public ArtistBio getArtistBio(org.libresonic.player.domain.Artist artist) {
return getArtistBio(getCanonicalArtistName(artist.getName()));
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/MediaFileService.java b/libresonic-main/src/main/java/org/libresonic/player/service/MediaFileService.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/MediaFileService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/MediaFileService.java
index 690cc3fd..27e755b9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/MediaFileService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/MediaFileService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.IOException;
@@ -37,21 +38,21 @@ import org.apache.commons.lang.StringUtils;
import net.sf.ehcache.Ehcache;
import net.sf.ehcache.Element;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.AlbumDao;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.Album;
-import net.sourceforge.subsonic.domain.Genre;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MediaFileComparator;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.service.metadata.JaudiotaggerParser;
-import net.sourceforge.subsonic.service.metadata.MetaData;
-import net.sourceforge.subsonic.service.metadata.MetaDataParser;
-import net.sourceforge.subsonic.service.metadata.MetaDataParserFactory;
-import net.sourceforge.subsonic.util.FileUtil;
-
-import static net.sourceforge.subsonic.domain.MediaFile.MediaType.*;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.AlbumDao;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.Album;
+import org.libresonic.player.domain.Genre;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MediaFileComparator;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.service.metadata.JaudiotaggerParser;
+import org.libresonic.player.service.metadata.MetaData;
+import org.libresonic.player.service.metadata.MetaDataParser;
+import org.libresonic.player.service.metadata.MetaDataParserFactory;
+import org.libresonic.player.util.FileUtil;
+
+import static org.libresonic.player.domain.MediaFile.MediaType.*;
/**
* Provides services for instantiating and caching media files and cover art.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/MediaScannerService.java b/libresonic-main/src/main/java/org/libresonic/player/service/MediaScannerService.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/MediaScannerService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/MediaScannerService.java
index 7f6f4c0d..9b81e11e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/MediaScannerService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/MediaScannerService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.util.Calendar;
@@ -28,17 +29,17 @@ import java.util.TimerTask;
import org.apache.commons.lang.ObjectUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.AlbumDao;
-import net.sourceforge.subsonic.dao.ArtistDao;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.Album;
-import net.sourceforge.subsonic.domain.Artist;
-import net.sourceforge.subsonic.domain.Genres;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MediaLibraryStatistics;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.AlbumDao;
+import org.libresonic.player.dao.ArtistDao;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.Album;
+import org.libresonic.player.domain.Artist;
+import org.libresonic.player.domain.Genres;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MediaLibraryStatistics;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.util.FileUtil;
/**
* Provides services for scanning the music library.
@@ -391,8 +392,8 @@ public class MediaScannerService {
* @return The index file for the given index version.
*/
private File getIndexFile(int version) {
- File home = SettingsService.getSubsonicHome();
- return new File(home, "subsonic" + version + ".index");
+ File home = SettingsService.getLibresonicHome();
+ return new File(home, "libresonic" + version + ".index");
}
public void setSettingsService(SettingsService settingsService) {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/MusicIndexService.java b/libresonic-main/src/main/java/org/libresonic/player/service/MusicIndexService.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/MusicIndexService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/MusicIndexService.java
index d8e4521b..8e4618ec 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/MusicIndexService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/MusicIndexService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.IOException;
@@ -33,13 +34,13 @@ import java.util.SortedMap;
import java.util.StringTokenizer;
import java.util.TreeMap;
-import net.sourceforge.subsonic.domain.Artist;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.MusicFolderContent;
-import net.sourceforge.subsonic.domain.MusicIndex;
-import net.sourceforge.subsonic.domain.MusicIndex.SortableArtist;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.domain.Artist;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.MusicFolderContent;
+import org.libresonic.player.domain.MusicIndex;
+import org.libresonic.player.domain.MusicIndex.SortableArtist;
+import org.libresonic.player.util.FileUtil;
/**
* Provides services for grouping artists by index.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/NetworkService.java b/libresonic-main/src/main/java/org/libresonic/player/service/NetworkService.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/NetworkService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/NetworkService.java
index 6a2ca100..279923c3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/NetworkService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/NetworkService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.IOException;
import java.util.ArrayList;
@@ -42,16 +43,16 @@ import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.util.EntityUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.UrlRedirectType;
-import net.sourceforge.subsonic.service.upnp.ClingRouter;
-import net.sourceforge.subsonic.service.upnp.NATPMPRouter;
-import net.sourceforge.subsonic.service.upnp.Router;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.UrlRedirectType;
+import org.libresonic.player.service.upnp.ClingRouter;
+import org.libresonic.player.service.upnp.NATPMPRouter;
+import org.libresonic.player.service.upnp.Router;
+import org.libresonic.player.util.StringUtil;
/**
* Provides network-related services, including port forwarding on UPnP routers and
- * URL redirection from http://xxxx.subsonic.org.
+ * URL redirection from http://xxxx.libresonic.org.
*
* @author Sindre Mehus
*/
@@ -99,6 +100,17 @@ public class NetworkService {
* @param test Whether to test that the redirection works.
*/
public synchronized void initUrlRedirection(boolean test) {
+
+ if (true) {
+ // This feature isn't currently supported, since it's a public service of subsonic.org
+ // Display a warning message for now
+ boolean enabled = settingsService.isUrlRedirectionEnabled() && settingsService.getUrlRedirectType() == UrlRedirectType.NORMAL;
+ if (enabled) {
+ LOG.warn("The URL redirection service is currently not enabled!");
+ }
+ return;
+ }
+
urlRedirectionStatus.setText("Idle");
if (urlRedirectionFuture != null) {
urlRedirectionFuture.cancel(true);
@@ -116,7 +128,7 @@ public class NetworkService {
}
public static String getBackendUrl() {
- return "true".equals(System.getProperty("subsonic.test")) ? "http://localhost:8080" : "http://subsonic.org";
+ return "true".equals(System.getProperty("libresonic.test")) ? "http://localhost:8080" : "http://libresonic.org";
}
public void setSettingsService(SettingsService settingsService) {
@@ -286,7 +298,7 @@ public class NetworkService {
String url = URL_REDIRECTION_TEST_URL;
if (settingsService.getUrlRedirectType() == UrlRedirectType.NORMAL) {
url += "?redirectFrom=" + settingsService.getUrlRedirectFrom();
- urlToTest = settingsService.getUrlRedirectFrom() + ".subsonic.org";
+ urlToTest = settingsService.getUrlRedirectFrom() + ".libresonic.org";
} else {
url += "?customUrl=" + settingsService.getUrlRedirectCustomUrl();
urlToTest = settingsService.getUrlRedirectCustomUrl();
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/PlayerService.java b/libresonic-main/src/main/java/org/libresonic/player/service/PlayerService.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/PlayerService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/PlayerService.java
index 4e56a6b9..441186ef 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/PlayerService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/PlayerService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.util.ArrayList;
import java.util.Date;
@@ -29,12 +30,12 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
-import net.sourceforge.subsonic.dao.PlayerDao;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.Transcoding;
-import net.sourceforge.subsonic.domain.TransferStatus;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.dao.PlayerDao;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.Transcoding;
+import org.libresonic.player.domain.TransferStatus;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.util.StringUtil;
/**
* Provides services for maintaining the set of players.
@@ -238,7 +239,7 @@ public class PlayerService {
*
* @param username The name of the user.
* @param clientId The third-party client ID (used if this player is managed over the
- * Subsonic REST API). May be null.
+ * Libresonic REST API). May be null.
* @return All relevant players.
*/
public List getPlayersForUserAndClientId(String username, String clientId) {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/PlaylistService.java b/libresonic-main/src/main/java/org/libresonic/player/service/PlaylistService.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/PlaylistService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/PlaylistService.java
index dbe33300..1f2aab3b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/PlaylistService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/PlaylistService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
@@ -46,22 +47,22 @@ import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.dao.PlaylistDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.util.Pair;
-import net.sourceforge.subsonic.util.StringUtil;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.dao.PlaylistDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.util.Pair;
+import org.libresonic.player.util.StringUtil;
+import org.libresonic.player.util.Util;
/**
* Provides services for loading and saving playlists to and from persistent storage.
*
* @author Sindre Mehus
- * @see net.sourceforge.subsonic.domain.PlayQueue
+ * @see org.libresonic.player.domain.PlayQueue
*/
public class PlaylistService {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/PodcastService.java b/libresonic-main/src/main/java/org/libresonic/player/service/PodcastService.java
similarity index 96%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/PodcastService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/PodcastService.java
index a0c1c4d8..8754345c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/PodcastService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/PodcastService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.FileOutputStream;
@@ -57,16 +58,16 @@ import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.PodcastDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.PodcastChannel;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.domain.PodcastStatus;
-import net.sourceforge.subsonic.service.metadata.MetaData;
-import net.sourceforge.subsonic.service.metadata.MetaDataParser;
-import net.sourceforge.subsonic.service.metadata.MetaDataParserFactory;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.PodcastDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.PodcastChannel;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.domain.PodcastStatus;
+import org.libresonic.player.service.metadata.MetaData;
+import org.libresonic.player.service.metadata.MetaDataParser;
+import org.libresonic.player.service.metadata.MetaDataParserFactory;
+import org.libresonic.player.util.StringUtil;
/**
* Provides services for Podcast reception.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/RatingService.java b/libresonic-main/src/main/java/org/libresonic/player/service/RatingService.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/RatingService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/RatingService.java
index 8a56c491..5b8f0e2d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/RatingService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/RatingService.java
@@ -1,31 +1,32 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import net.sourceforge.subsonic.dao.RatingDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.dao.RatingDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.util.FileUtil;
/**
* Provides services for user ratings.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SearchService.java b/libresonic-main/src/main/java/org/libresonic/player/service/SearchService.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/SearchService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/SearchService.java
index 45807795..a73a964c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SearchService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/SearchService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.IOException;
@@ -63,19 +64,19 @@ import org.apache.lucene.util.Version;
import com.google.common.collect.Lists;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.AlbumDao;
-import net.sourceforge.subsonic.dao.ArtistDao;
-import net.sourceforge.subsonic.domain.Album;
-import net.sourceforge.subsonic.domain.Artist;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.RandomSearchCriteria;
-import net.sourceforge.subsonic.domain.SearchCriteria;
-import net.sourceforge.subsonic.domain.SearchResult;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.AlbumDao;
+import org.libresonic.player.dao.ArtistDao;
+import org.libresonic.player.domain.Album;
+import org.libresonic.player.domain.Artist;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.RandomSearchCriteria;
+import org.libresonic.player.domain.SearchCriteria;
+import org.libresonic.player.domain.SearchResult;
+import org.libresonic.player.util.FileUtil;
-import static net.sourceforge.subsonic.service.SearchService.IndexType.*;
+import static org.libresonic.player.service.SearchService.IndexType.*;
/**
* Performs Lucene-based searching and indexing.
@@ -185,7 +186,7 @@ public class SearchService {
try {
reader = createIndexReader(indexType);
Searcher searcher = new IndexSearcher(reader);
- Analyzer analyzer = new SubsonicAnalyzer();
+ Analyzer analyzer = new LibresonicAnalyzer();
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(LUCENE_VERSION, indexType.getFields(), analyzer, indexType.getBoosts());
@@ -400,7 +401,7 @@ public class SearchService {
private IndexWriter createIndexWriter(IndexType indexType) throws IOException {
File dir = getIndexDirectory(indexType);
- return new IndexWriter(FSDirectory.open(dir), new SubsonicAnalyzer(), true, new IndexWriter.MaxFieldLength(10));
+ return new IndexWriter(FSDirectory.open(dir), new LibresonicAnalyzer(), true, new IndexWriter.MaxFieldLength(10));
}
private IndexReader createIndexReader(IndexType indexType) throws IOException {
@@ -409,7 +410,7 @@ public class SearchService {
}
private File getIndexRootDirectory() {
- return new File(SettingsService.getSubsonicHome(), LUCENE_DIR);
+ return new File(SettingsService.getLibresonicHome(), LUCENE_DIR);
}
private File getIndexDirectory(IndexType indexType) {
@@ -575,8 +576,8 @@ public class SearchService {
}
}
- private class SubsonicAnalyzer extends StandardAnalyzer {
- private SubsonicAnalyzer() {
+ private class LibresonicAnalyzer extends StandardAnalyzer {
+ private LibresonicAnalyzer() {
super(LUCENE_VERSION);
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SecurityService.java b/libresonic-main/src/main/java/org/libresonic/player/service/SecurityService.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/SecurityService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/SecurityService.java
index 2a2853b6..773e215e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SecurityService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/SecurityService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.util.List;
@@ -33,12 +34,12 @@ import org.acegisecurity.wrapper.SecurityContextHolderAwareRequestWrapper;
import org.springframework.dao.DataAccessException;
import net.sf.ehcache.Ehcache;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.UserDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.util.FileUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.UserDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.util.FileUtil;
/**
* Provides security-related services for authentication and authorization.
@@ -74,7 +75,7 @@ public class SecurityService implements UserDetailsService {
}
// If user is LDAP authenticated, disable user. The proper authentication should in that case
- // be done by SubsonicLdapBindAuthenticator.
+ // be done by LibresonicLdapBindAuthenticator.
boolean enabled = !user.isLdapAuthenticated();
return new org.acegisecurity.userdetails.User(username, user.getPassword(), enabled, true, true, true, authorities);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/ServiceLocator.java b/libresonic-main/src/main/java/org/libresonic/player/service/ServiceLocator.java
similarity index 76%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/ServiceLocator.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/ServiceLocator.java
index 22abe17d..f5f4a161 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/ServiceLocator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/ServiceLocator.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
/**
* Locates services for objects that are not part of the Spring context.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SettingsService.java b/libresonic-main/src/main/java/org/libresonic/player/service/SettingsService.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/SettingsService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/SettingsService.java
index d2fe3092..2c579baf 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SettingsService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/SettingsService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.FileInputStream;
@@ -49,23 +50,23 @@ import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.AvatarDao;
-import net.sourceforge.subsonic.dao.InternetRadioDao;
-import net.sourceforge.subsonic.dao.MusicFolderDao;
-import net.sourceforge.subsonic.dao.UserDao;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.Avatar;
-import net.sourceforge.subsonic.domain.InternetRadio;
-import net.sourceforge.subsonic.domain.LicenseInfo;
-import net.sourceforge.subsonic.domain.MediaLibraryStatistics;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Theme;
-import net.sourceforge.subsonic.domain.UrlRedirectType;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.util.FileUtil;
-import net.sourceforge.subsonic.util.StringUtil;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.AvatarDao;
+import org.libresonic.player.dao.InternetRadioDao;
+import org.libresonic.player.dao.MusicFolderDao;
+import org.libresonic.player.dao.UserDao;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.Avatar;
+import org.libresonic.player.domain.InternetRadio;
+import org.libresonic.player.domain.LicenseInfo;
+import org.libresonic.player.domain.MediaLibraryStatistics;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Theme;
+import org.libresonic.player.domain.UrlRedirectType;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.util.FileUtil;
+import org.libresonic.player.util.StringUtil;
+import org.libresonic.player.util.Util;
/**
* Provides persistent storage of application settings and preferences.
@@ -74,9 +75,9 @@ import net.sourceforge.subsonic.util.Util;
*/
public class SettingsService {
- // Subsonic home directory.
- private static final File SUBSONIC_HOME_WINDOWS = new File("c:/subsonic");
- private static final File SUBSONIC_HOME_OTHER = new File("/var/subsonic");
+ // Libresonic home directory.
+ private static final File LIBRESONIC_HOME_WINDOWS = new File("c:/libresonic");
+ private static final File LIBRESONIC_HOME_OTHER = new File("/var/libresonic");
// Number of free trial days.
public static final long TRIAL_DAYS = 30L;
@@ -143,6 +144,13 @@ public class SettingsService {
private static final String KEY_SONOS_SERVICE_NAME = "SonosServiceName";
private static final String KEY_SONOS_SERVICE_ID = "SonosServiceId";
+ private static final String KEY_SMTP_SERVER = "SmtpServer";
+ private static final String KEY_SMTP_ENCRYPTION = "SmtpEncryption";
+ private static final String KEY_SMTP_PORT = "SmtpPort";
+ private static final String KEY_SMTP_USER = "SmtpUser";
+ private static final String KEY_SMTP_PASSWORD = "SmtpPassword";
+ private static final String KEY_SMTP_FROM = "SmtpFrom";
+
// Default values.
private static final String DEFAULT_INDEX_STRING = "A B C D E F G H I J K L M N O P Q R S T U V W X-Z(XYZ)";
private static final String DEFAULT_IGNORED_ARTICLES = "The El La Los Las Le Les";
@@ -197,7 +205,7 @@ public class SettingsService {
private static final boolean DEFAULT_URL_REDIRECTION_ENABLED = false;
private static final UrlRedirectType DEFAULT_URL_REDIRECT_TYPE = UrlRedirectType.NORMAL;
private static final String DEFAULT_URL_REDIRECT_FROM = "yourname";
- private static final String DEFAULT_URL_REDIRECT_CONTEXT_PATH = System.getProperty("subsonic.contextPath", "").replaceAll("/", "");
+ private static final String DEFAULT_URL_REDIRECT_CONTEXT_PATH = System.getProperty("libresonic.contextPath", "").replaceAll("/", "");
private static final String DEFAULT_URL_REDIRECT_CUSTOM_URL = "http://";
private static final String DEFAULT_SERVER_ID = null;
private static final long DEFAULT_SETTINGS_CHANGED = 0L;
@@ -211,14 +219,21 @@ public class SettingsService {
private static final String DEFAULT_SONOS_SERVICE_NAME = "Libresonic";
private static final int DEFAULT_SONOS_SERVICE_ID = 242;
+ private static final String DEFAULT_SMTP_SERVER = null;
+ private static final String DEFAULT_SMTP_ENCRYPTION = "None";
+ private static final String DEFAULT_SMTP_PORT = "25";
+ private static final String DEFAULT_SMTP_USER = null;
+ private static final String DEFAULT_SMTP_PASSWORD = null;
+ private static final String DEFAULT_SMTP_FROM = "libresonic@libresonic.org";
+
// Array of obsolete keys. Used to clean property file.
private static final List OBSOLETE_KEYS = Arrays.asList("PortForwardingPublicPort", "PortForwardingLocalPort",
"DownsamplingCommand", "DownsamplingCommand2", "DownsamplingCommand3", "AutoCoverBatch", "MusicMask",
"VideoMask", "CoverArtMask, HlsCommand", "HlsCommand2", "JukeboxCommand", "UrlRedirectTrialExpires", "VideoTrialExpires",
"CoverArtFileTypes", "UrlRedirectCustomHost", "CoverArtLimit", "StreamPort");
- private static final String LOCALES_FILE = "/net/sourceforge/subsonic/i18n/locales.txt";
- private static final String THEMES_FILE = "/net/sourceforge/subsonic/theme/themes.txt";
+ private static final String LOCALES_FILE = "/org/libresonic/player/i18n/locales.txt";
+ private static final String THEMES_FILE = "/org/libresonic/player/theme/themes.txt";
private static final Logger LOG = Logger.getLogger(SettingsService.class);
@@ -237,7 +252,7 @@ public class SettingsService {
private List cachedMusicFolders;
private final ConcurrentMap> cachedMusicFoldersPerUser = new ConcurrentHashMap>();
- private static File subsonicHome;
+ private static File libresonicHome;
private boolean licenseValidated = true;
private Date licenseExpires;
@@ -318,44 +333,44 @@ public class SettingsService {
}
private File getPropertyFile() {
- return new File(getSubsonicHome(), "subsonic.properties");
+ return new File(getLibresonicHome(), "libresonic.properties");
}
/**
- * Returns the Subsonic home directory.
+ * Returns the Libresonic home directory.
*
- * @return The Subsonic home directory, if it exists.
+ * @return The Libresonic home directory, if it exists.
* @throws RuntimeException If directory doesn't exist.
*/
- public static synchronized File getSubsonicHome() {
+ public static synchronized File getLibresonicHome() {
- if (subsonicHome != null) {
- return subsonicHome;
+ if (libresonicHome != null) {
+ return libresonicHome;
}
File home;
- String overrideHome = System.getProperty("subsonic.home");
+ String overrideHome = System.getProperty("libresonic.home");
if (overrideHome != null) {
home = new File(overrideHome);
} else {
boolean isWindows = System.getProperty("os.name", "Windows").toLowerCase().startsWith("windows");
- home = isWindows ? SUBSONIC_HOME_WINDOWS : SUBSONIC_HOME_OTHER;
+ home = isWindows ? LIBRESONIC_HOME_WINDOWS : LIBRESONIC_HOME_OTHER;
}
// Attempt to create home directory if it doesn't exist.
if (!home.exists() || !home.isDirectory()) {
boolean success = home.mkdirs();
if (success) {
- subsonicHome = home;
+ libresonicHome = home;
} else {
String message = "The directory " + home + " does not exist. Please create it and make it writable. " +
- "(You can override the directory location by specifying -Dsubsonic.home=... when " +
+ "(You can override the directory location by specifying -Dlibresonic.home=... when " +
"starting the servlet container.)";
System.err.println("ERROR: " + message);
}
} else {
- subsonicHome = home;
+ libresonicHome = home;
}
return home;
@@ -816,7 +831,7 @@ public class SettingsService {
public String getUrlRedirectUrl() {
if (getUrlRedirectType() == UrlRedirectType.NORMAL) {
- return "http://" + getUrlRedirectFrom() + ".subsonic.org";
+ return "http://" + getUrlRedirectFrom() + ".libresonic.org";
}
return StringUtils.removeEnd(getUrlRedirectCustomUrl(), "/");
}
@@ -1023,7 +1038,7 @@ public class SettingsService {
}
/**
- * Returns the "brand" name. Normally, this is just "Subsonic".
+ * Returns the "brand" name. Normally, this is just "Libresonic".
*
* @return The brand name.
*/
@@ -1051,7 +1066,7 @@ public class SettingsService {
if (cachedMusicFolders == null) {
cachedMusicFolders = musicFolderDao.getAllMusicFolders();
}
-
+
List result = new ArrayList(cachedMusicFolders.size());
for (MusicFolder folder : cachedMusicFolders) {
if ((includeDisabled || folder.isEnabled()) && (includeNonExisting || FileUtil.exists(folder.getPath()))) {
@@ -1255,6 +1270,7 @@ public class SettingsService {
settings.setQueueFollowingSongs(true);
settings.setDefaultAlbumList(AlbumListType.RANDOM);
settings.setLastFmEnabled(false);
+ settings.setListReloadDelay(60);
settings.setLastFmUsername(null);
settings.setLastFmPassword(null);
settings.setChanged(new Date());
@@ -1445,4 +1461,62 @@ public class SettingsService {
public void setVersionService(VersionService versionService) {
this.versionService = versionService;
}
+
+ public String getSmtpServer() {
+ return properties.getProperty(KEY_SMTP_SERVER, DEFAULT_SMTP_SERVER);
+ }
+
+ public void setSmtpServer(String smtpServer) {
+ setString(KEY_SMTP_SERVER, smtpServer);
+ }
+
+ public String getSmtpPort() {
+ return getString(KEY_SMTP_PORT, DEFAULT_SMTP_PORT);
+ }
+
+ public void setSmtpPort(String smtpPort) {
+ setString(KEY_SMTP_PORT, smtpPort);
+ }
+
+ public String getSmtpEncryption() {
+ return properties.getProperty(KEY_SMTP_ENCRYPTION, DEFAULT_SMTP_ENCRYPTION);
+ }
+
+ public void setSmtpEncryption(String encryptionMethod) {
+ setString(KEY_SMTP_ENCRYPTION, encryptionMethod);
+ }
+
+ public String getSmtpUser() {
+ return properties.getProperty(KEY_SMTP_USER, DEFAULT_SMTP_USER);
+ }
+
+ public void setSmtpUser(String smtpUser) {
+ setString(KEY_SMTP_USER, smtpUser);
+ }
+
+ public String getSmtpPassword() {
+ String s = properties.getProperty(KEY_SMTP_PASSWORD, DEFAULT_SMTP_PASSWORD);
+ try {
+ return StringUtil.utf8HexDecode(s);
+ } catch (Exception x) {
+ LOG.warn("Failed to decode Smtp password.", x);
+ return s;
+ }
+ }
+ public void setSmtpPassword(String smtpPassword) {
+ try {
+ smtpPassword = StringUtil.utf8HexEncode(smtpPassword);
+ } catch (Exception x) {
+ LOG.warn("Failed to encode Smtp password.", x);
+ }
+ properties.setProperty(KEY_SMTP_PASSWORD, smtpPassword);
+ }
+
+ public String getSmtpFrom() {
+ return properties.getProperty(KEY_SMTP_FROM, DEFAULT_SMTP_FROM);
+ }
+
+ public void setSmtpFrom(String smtpFrom) {
+ setString(KEY_SMTP_FROM, smtpFrom);
+ }
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/ShareService.java b/libresonic-main/src/main/java/org/libresonic/player/service/ShareService.java
similarity index 85%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/ShareService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/ShareService.java
index f35b03d2..6ca0f66c 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/ShareService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/ShareService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.util.ArrayList;
import java.util.Calendar;
@@ -28,12 +29,12 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.RandomStringUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.dao.ShareDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Share;
-import net.sourceforge.subsonic.domain.User;
+import org.libresonic.player.Logger;
+import org.libresonic.player.dao.ShareDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Share;
+import org.libresonic.player.domain.User;
/**
* Provides services for sharing media.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SonosService.java b/libresonic-main/src/main/java/org/libresonic/player/service/SonosService.java
similarity index 96%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/SonosService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/SonosService.java
index d82c8eea..86c0815d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/SonosService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/SonosService.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.IOException;
import java.util.ArrayList;
@@ -87,14 +87,14 @@ import com.sonos.services._1.SearchResponse;
import com.sonos.services._1.SegmentMetadataList;
import com.sonos.services._1_1.SonosSoap;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.User;
-import net.sourceforge.subsonic.service.sonos.SonosHelper;
-import net.sourceforge.subsonic.service.sonos.SonosServiceRegistration;
-import net.sourceforge.subsonic.service.sonos.SonosSoapFault;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.User;
+import org.libresonic.player.service.sonos.SonosHelper;
+import org.libresonic.player.service.sonos.SonosServiceRegistration;
+import org.libresonic.player.service.sonos.SonosSoapFault;
/**
* For manual testing of this service:
@@ -182,11 +182,11 @@ public class SonosService implements SonosSoap {
String sonosServiceName = settingsService.getSonosServiceName();
int sonosServiceId = settingsService.getSonosServiceId();
- String subsonicBaseUrl = sonosHelper.getBaseUrl(getRequest());
+ String libresonicBaseUrl = sonosHelper.getBaseUrl(getRequest());
for (String sonosController : sonosControllers) {
try {
- new SonosServiceRegistration().setEnabled(subsonicBaseUrl, sonosController, enabled,
+ new SonosServiceRegistration().setEnabled(libresonicBaseUrl, sonosController, enabled,
sonosServiceName, sonosServiceId);
break;
} catch (IOException x) {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/StatusService.java b/libresonic-main/src/main/java/org/libresonic/player/service/StatusService.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/StatusService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/StatusService.java
index 3d5e7544..7a9d84d3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/StatusService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/StatusService.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PlayStatus;
-import net.sourceforge.subsonic.domain.TransferStatus;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PlayStatus;
+import org.libresonic.player.domain.TransferStatus;
import java.io.File;
import java.util.ArrayList;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/TranscodingService.java b/libresonic-main/src/main/java/org/libresonic/player/service/TranscodingService.java
similarity index 94%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/TranscodingService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/TranscodingService.java
index f9e08b3b..36871490 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/TranscodingService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/TranscodingService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.io.File;
import java.io.FileInputStream;
@@ -31,18 +32,18 @@ import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.filefilter.PrefixFileFilter;
import org.apache.commons.lang.StringUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.controller.VideoPlayerController;
-import net.sourceforge.subsonic.dao.TranscodingDao;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.TranscodeScheme;
-import net.sourceforge.subsonic.domain.Transcoding;
-import net.sourceforge.subsonic.domain.UserSettings;
-import net.sourceforge.subsonic.domain.VideoTranscodingSettings;
-import net.sourceforge.subsonic.io.TranscodeInputStream;
-import net.sourceforge.subsonic.util.StringUtil;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.Logger;
+import org.libresonic.player.controller.VideoPlayerController;
+import org.libresonic.player.dao.TranscodingDao;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.TranscodeScheme;
+import org.libresonic.player.domain.Transcoding;
+import org.libresonic.player.domain.UserSettings;
+import org.libresonic.player.domain.VideoTranscodingSettings;
+import org.libresonic.player.io.TranscodeInputStream;
+import org.libresonic.player.util.StringUtil;
+import org.libresonic.player.util.Util;
/**
* Provides services for transcoding media. Transcoding is the process of
@@ -365,7 +366,7 @@ public class TranscodingService {
// Create temporary file, and feed this to the transcoder.
String path = mediaFile.getFile().getAbsolutePath();
if (Util.isWindows() && !mediaFile.isVideo() && !StringUtils.isAsciiPrintable(path)) {
- tmpFile = File.createTempFile("subsonic", "." + FilenameUtils.getExtension(path));
+ tmpFile = File.createTempFile("libresonic", "." + FilenameUtils.getExtension(path));
tmpFile.deleteOnExit();
FileUtils.copyFile(new File(path), tmpFile);
LOG.debug("Created tmp file: " + tmpFile);
@@ -470,7 +471,7 @@ public class TranscodingService {
* Returns the directory in which all transcoders are installed.
*/
public File getTranscodeDirectory() {
- File dir = new File(SettingsService.getSubsonicHome(), "transcode");
+ File dir = new File(SettingsService.getLibresonicHome(), "transcode");
if (!dir.exists()) {
boolean ok = dir.mkdir();
if (ok) {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/UPnPService.java b/libresonic-main/src/main/java/org/libresonic/player/service/UPnPService.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/UPnPService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/UPnPService.java
index e54d081d..a4d37aee 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/UPnPService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/UPnPService.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
import java.net.URL;
import java.util.ArrayList;
@@ -44,11 +45,11 @@ import org.fourthline.cling.support.model.ProtocolInfos;
import org.fourthline.cling.support.model.dlna.DLNAProfiles;
import org.fourthline.cling.support.model.dlna.DLNAProtocolInfo;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.Version;
-import net.sourceforge.subsonic.service.upnp.ApacheUpnpServiceConfiguration;
-import net.sourceforge.subsonic.service.upnp.FolderBasedContentDirectory;
-import net.sourceforge.subsonic.service.upnp.MSMediaReceiverRegistrarService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.Version;
+import org.libresonic.player.service.upnp.ApacheUpnpServiceConfiguration;
+import org.libresonic.player.service.upnp.FolderBasedContentDirectory;
+import org.libresonic.player.service.upnp.MSMediaReceiverRegistrarService;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/VersionService.java b/libresonic-main/src/main/java/org/libresonic/player/service/VersionService.java
similarity index 73%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/VersionService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/VersionService.java
index 8d2b2d54..25938cdf 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/VersionService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/VersionService.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service;
+package org.libresonic.player.service;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.Version;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.Version;
import org.apache.commons.io.IOUtils;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
@@ -41,7 +42,7 @@ import java.util.regex.Pattern;
/**
* Provides version-related services, including functionality for determining whether a newer
- * version of Subsonic is available.
+ * version of Libresonic is available.
*
* @author Sindre Mehus
*/
@@ -76,26 +77,26 @@ public class VersionService {
}
/**
- * Returns the version number for the locally installed Subsonic version.
+ * Returns the version number for the locally installed Libresonic version.
*
- * @return The version number for the locally installed Subsonic version.
+ * @return The version number for the locally installed Libresonic version.
*/
public synchronized Version getLocalVersion() {
if (localVersion == null) {
try {
localVersion = new Version(readLineFromResource("/version.txt"));
- LOG.info("Resolved local Subsonic version to: " + localVersion);
+ LOG.info("Resolved local Libresonic version to: " + localVersion);
} catch (Exception x) {
- LOG.warn("Failed to resolve local Subsonic version.", x);
+ LOG.warn("Failed to resolve local Libresonic version.", x);
}
}
return localVersion;
}
/**
- * Returns the version number for the latest available Subsonic final version.
+ * Returns the version number for the latest available Libresonic final version.
*
- * @return The version number for the latest available Subsonic final version, or null
+ * @return The version number for the latest available Libresonic final version, or null
* if the version number can't be resolved.
*/
public synchronized Version getLatestFinalVersion() {
@@ -104,9 +105,9 @@ public class VersionService {
}
/**
- * Returns the version number for the latest available Subsonic beta version.
+ * Returns the version number for the latest available Libresonic beta version.
*
- * @return The version number for the latest available Subsonic beta version, or null
+ * @return The version number for the latest available Libresonic beta version, or null
* if the version number can't be resolved.
*/
public synchronized Version getLatestBetaVersion() {
@@ -115,9 +116,9 @@ public class VersionService {
}
/**
- * Returns the build date for the locally installed Subsonic version.
+ * Returns the build date for the locally installed Libresonic version.
*
- * @return The build date for the locally installed Subsonic version, or null
+ * @return The build date for the locally installed Libresonic version, or null
* if the build date can't be resolved.
*/
public synchronized Date getLocalBuildDate() {
@@ -126,16 +127,16 @@ public class VersionService {
String date = readLineFromResource("/build_date.txt");
localBuildDate = DATE_FORMAT.parse(date);
} catch (Exception x) {
- LOG.warn("Failed to resolve local Subsonic build date.", x);
+ LOG.warn("Failed to resolve local Libresonic build date.", x);
}
}
return localBuildDate;
}
/**
- * Returns the build number for the locally installed Subsonic version.
+ * Returns the build number for the locally installed Libresonic version.
*
- * @return The build number for the locally installed Subsonic version, or null
+ * @return The build number for the locally installed Libresonic version, or null
* if the build number can't be resolved.
*/
public synchronized String getLocalBuildNumber() {
@@ -143,16 +144,16 @@ public class VersionService {
try {
localBuildNumber = readLineFromResource("/build_number.txt");
} catch (Exception x) {
- LOG.warn("Failed to resolve local Subsonic build number.", x);
+ LOG.warn("Failed to resolve local Libresonic build number.", x);
}
}
return localBuildNumber;
}
/**
- * Returns whether a new final version of Subsonic is available.
+ * Returns whether a new final version of Libresonic is available.
*
- * @return Whether a new final version of Subsonic is available.
+ * @return Whether a new final version of Libresonic is available.
*/
public boolean isNewFinalVersionAvailable() {
Version latest = getLatestFinalVersion();
@@ -166,9 +167,9 @@ public class VersionService {
}
/**
- * Returns whether a new beta version of Subsonic is available.
+ * Returns whether a new beta version of Libresonic is available.
*
- * @return Whether a new beta version of Subsonic is available.
+ * @return Whether a new beta version of Libresonic is available.
*/
public boolean isNewBetaVersionAvailable() {
Version latest = getLatestBetaVersion();
@@ -218,13 +219,13 @@ public class VersionService {
lastVersionFetched = now;
readLatestVersion();
} catch (Exception x) {
- LOG.warn("Failed to resolve latest Subsonic version.", x);
+ LOG.warn("Failed to resolve latest Libresonic version.", x);
}
}
}
/**
- * Resolves the latest available Subsonic version by screen-scraping a web page.
+ * Resolves the latest available Libresonic version by screen-scraping a web page.
*
* @throws IOException If an I/O error occurs.
*/
@@ -245,8 +246,8 @@ public class VersionService {
}
BufferedReader reader = new BufferedReader(new StringReader(content));
- Pattern finalPattern = Pattern.compile("SUBSONIC_FULL_VERSION_BEGIN(.*)SUBSONIC_FULL_VERSION_END");
- Pattern betaPattern = Pattern.compile("SUBSONIC_BETA_VERSION_BEGIN(.*)SUBSONIC_BETA_VERSION_END");
+ Pattern finalPattern = Pattern.compile("LIBRESONIC_FULL_VERSION_BEGIN(.*)LIBRESONIC_FULL_VERSION_END");
+ Pattern betaPattern = Pattern.compile("LIBRESONIC_BETA_VERSION_BEGIN(.*)LIBRESONIC_BETA_VERSION_END");
try {
String line = reader.readLine();
@@ -254,12 +255,12 @@ public class VersionService {
Matcher finalMatcher = finalPattern.matcher(line);
if (finalMatcher.find()) {
latestFinalVersion = new Version(finalMatcher.group(1));
- LOG.info("Resolved latest Subsonic final version to: " + latestFinalVersion);
+ LOG.info("Resolved latest Libresonic final version to: " + latestFinalVersion);
}
Matcher betaMatcher = betaPattern.matcher(line);
if (betaMatcher.find()) {
latestBetaVersion = new Version(betaMatcher.group(1));
- LOG.info("Resolved latest Subsonic beta version to: " + latestBetaVersion);
+ LOG.info("Resolved latest Libresonic beta version to: " + latestBetaVersion);
}
line = reader.readLine();
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/jukebox/AudioPlayer.java b/libresonic-main/src/main/java/org/libresonic/player/service/jukebox/AudioPlayer.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/jukebox/AudioPlayer.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/jukebox/AudioPlayer.java
index 5a92916a..bacca409 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/jukebox/AudioPlayer.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/jukebox/AudioPlayer.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.jukebox;
+package org.libresonic.player.service.jukebox;
import java.io.IOException;
import java.io.InputStream;
@@ -29,10 +30,10 @@ import javax.sound.sampled.SourceDataLine;
import org.apache.commons.io.IOUtils;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.service.JukeboxService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.service.JukeboxService;
-import static net.sourceforge.subsonic.service.jukebox.AudioPlayer.State.*;
+import static org.libresonic.player.service.jukebox.AudioPlayer.State.*;
/**
* A simple wrapper for playing sound from an input stream.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/jukebox/PlayerTest.java b/libresonic-main/src/main/java/org/libresonic/player/service/jukebox/PlayerTest.java
similarity index 97%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/jukebox/PlayerTest.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/jukebox/PlayerTest.java
index 12cb79c7..5eb41610 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/jukebox/PlayerTest.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/jukebox/PlayerTest.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.service.jukebox;
+package org.libresonic.player.service.jukebox;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/DefaultMetaDataParser.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/DefaultMetaDataParser.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/DefaultMetaDataParser.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/metadata/DefaultMetaDataParser.java
index 69bcc743..7723f31f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/DefaultMetaDataParser.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/DefaultMetaDataParser.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.metadata;
+package org.libresonic.player.service.metadata;
-import net.sourceforge.subsonic.domain.MediaFile;
+import org.libresonic.player.domain.MediaFile;
import java.io.File;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/FFmpegParser.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/FFmpegParser.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/FFmpegParser.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/metadata/FFmpegParser.java
index 60ae1750..628884ba 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/FFmpegParser.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/FFmpegParser.java
@@ -1,29 +1,30 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.metadata;
-
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.io.InputStreamReaderThread;
-import net.sourceforge.subsonic.service.ServiceLocator;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.StringUtil;
+package org.libresonic.player.service.metadata;
+
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.io.InputStreamReaderThread;
+import org.libresonic.player.service.ServiceLocator;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.StringUtil;
import org.apache.commons.io.FilenameUtils;
import java.io.File;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/JaudiotaggerParser.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java
similarity index 95%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/JaudiotaggerParser.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java
index ee2f4263..3eb00e81 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/JaudiotaggerParser.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/JaudiotaggerParser.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.metadata;
+package org.libresonic.player.service.metadata;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.MediaFile;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.MediaFile;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
import org.jaudiotagger.audio.AudioFile;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaData.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaData.java
similarity index 88%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaData.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaData.java
index b42f2dc7..bb5b3f97 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaData.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaData.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.metadata;
+package org.libresonic.player.service.metadata;
/**
* Contains meta-data (song title, artist, album etc) for a music file.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParser.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaDataParser.java
similarity index 89%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParser.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaDataParser.java
index 1d6bd6ac..6f724e1f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParser.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaDataParser.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.metadata;
+package org.libresonic.player.service.metadata;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.service.ServiceLocator;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.service.ServiceLocator;
+import org.libresonic.player.service.SettingsService;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaDataParserFactory.java
similarity index 75%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaDataParserFactory.java
index 31b56be4..dcc892f5 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/metadata/MetaDataParserFactory.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/metadata/MetaDataParserFactory.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.metadata;
+package org.libresonic.player.service.metadata;
import java.io.File;
import java.util.List;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/AlbumList.java b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/AlbumList.java
similarity index 72%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/AlbumList.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/sonos/AlbumList.java
index 40053b0a..ea2102d9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/AlbumList.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/AlbumList.java
@@ -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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.sonos;
+package org.libresonic.player.service.sonos;
import java.util.List;
-import net.sourceforge.subsonic.domain.MediaFile;
+import org.libresonic.player.domain.MediaFile;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosFaultInterceptor.java b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosFaultInterceptor.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosFaultInterceptor.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosFaultInterceptor.java
index 4ac15df6..4f7c4e99 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosFaultInterceptor.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosFaultInterceptor.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.sonos;
+package org.libresonic.player.service.sonos;
import javax.xml.namespace.QName;
@@ -29,7 +29,7 @@ import org.apache.cxf.phase.Phase;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import net.sourceforge.subsonic.Logger;
+import org.libresonic.player.Logger;
/**
* Intercepts all SonosSoapFault exceptions and builds a SOAP Fault.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosHelper.java b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosHelper.java
similarity index 93%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosHelper.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosHelper.java
index 20197e12..ab26678f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosHelper.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosHelper.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.sonos;
+package org.libresonic.player.service.sonos;
import java.util.ArrayList;
import java.util.Arrays;
@@ -41,36 +41,36 @@ import com.sonos.services._1.MediaList;
import com.sonos.services._1.MediaMetadata;
import com.sonos.services._1.TrackMetadata;
-import net.sourceforge.subsonic.controller.CoverArtController;
-import net.sourceforge.subsonic.dao.MediaFileDao;
-import net.sourceforge.subsonic.domain.AlbumListType;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.Genre;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.MusicFolderContent;
-import net.sourceforge.subsonic.domain.MusicIndex;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.domain.PlayerTechnology;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.domain.PodcastChannel;
-import net.sourceforge.subsonic.domain.PodcastEpisode;
-import net.sourceforge.subsonic.domain.PodcastStatus;
-import net.sourceforge.subsonic.domain.SearchCriteria;
-import net.sourceforge.subsonic.domain.SearchResult;
-import net.sourceforge.subsonic.service.LastFmService;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.MusicIndexService;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.service.PodcastService;
-import net.sourceforge.subsonic.service.RatingService;
-import net.sourceforge.subsonic.service.SearchService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.SonosService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.StringUtil;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.controller.CoverArtController;
+import org.libresonic.player.dao.MediaFileDao;
+import org.libresonic.player.domain.AlbumListType;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.Genre;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.MusicFolderContent;
+import org.libresonic.player.domain.MusicIndex;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.domain.PlayerTechnology;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.domain.PodcastChannel;
+import org.libresonic.player.domain.PodcastEpisode;
+import org.libresonic.player.domain.PodcastStatus;
+import org.libresonic.player.domain.SearchCriteria;
+import org.libresonic.player.domain.SearchResult;
+import org.libresonic.player.service.LastFmService;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.MusicIndexService;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.service.PodcastService;
+import org.libresonic.player.service.RatingService;
+import org.libresonic.player.service.SearchService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.SonosService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.StringUtil;
+import org.libresonic.player.util.Util;
/**
* @author Sindre Mehus
@@ -78,7 +78,7 @@ import net.sourceforge.subsonic.util.Util;
*/
public class SonosHelper {
- public static final String SUBSONIC_CLIENT_ID = "sonos";
+ public static final String LIBRESONIC_CLIENT_ID = "sonos";
private MediaFileService mediaFileService;
private PlaylistService playlistService;
@@ -674,17 +674,17 @@ public class SonosHelper {
}
private Player createPlayerIfNecessary(String username) {
- List players = playerService.getPlayersForUserAndClientId(username, SUBSONIC_CLIENT_ID);
+ List players = playerService.getPlayersForUserAndClientId(username, LIBRESONIC_CLIENT_ID);
// If not found, create it.
if (players.isEmpty()) {
Player player = new Player();
player.setUsername(username);
- player.setClientId(SUBSONIC_CLIENT_ID);
+ player.setClientId(LIBRESONIC_CLIENT_ID);
player.setName("Sonos");
player.setTechnology(PlayerTechnology.EXTERNAL_WITH_PLAYLIST);
playerService.createPlayer(player);
- players = playerService.getPlayersForUserAndClientId(username, SUBSONIC_CLIENT_ID);
+ players = playerService.getPlayersForUserAndClientId(username, LIBRESONIC_CLIENT_ID);
}
return players.get(0);
@@ -694,14 +694,14 @@ public class SonosHelper {
int port = settingsService.getPort();
String contextPath = settingsService.getUrlRedirectContextPath();
- // Note that the server IP can be overridden by the "ip" parameter. Used when Subsonic and Sonos are
+ // Note that the server IP can be overridden by the "ip" parameter. Used when Libresonic and Sonos are
// on different networks.
String ip = settingsService.getLocalIpAddress();
if (request != null) {
ip = ServletRequestUtils.getStringParameter(request, "ip", ip);
}
- // Note: Serving media and cover art with http (as opposed to https) works when using jetty and SubsonicDeployer.
+ // Note: Serving media and cover art with http (as opposed to https) works when using jetty and LibresonicDeployer.
StringBuilder url = new StringBuilder("http://")
.append(ip)
.append(":")
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosServiceRegistration.java b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosServiceRegistration.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosServiceRegistration.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosServiceRegistration.java
index abe5bf0f..593652a3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosServiceRegistration.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosServiceRegistration.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.sonos;
+package org.libresonic.player.service.sonos;
import java.io.IOException;
import java.util.ArrayList;
@@ -34,9 +34,9 @@ import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpConnectionParams;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.util.Pair;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.util.Pair;
+import org.libresonic.player.util.StringUtil;
/**
* @author Sindre Mehus
@@ -46,12 +46,12 @@ public class SonosServiceRegistration {
private static final Logger LOG = Logger.getLogger(SonosServiceRegistration.class);
- public void setEnabled(String subsonicBaseUrl, String sonosControllerIp, boolean enabled, String sonosServiceName, int sonosServiceId) throws IOException {
- String localUrl = subsonicBaseUrl + "ws/Sonos";
+ public void setEnabled(String libresonicBaseUrl, String sonosControllerIp, boolean enabled, String sonosServiceName, int sonosServiceId) throws IOException {
+ String localUrl = libresonicBaseUrl + "ws/Sonos";
String controllerUrl = String.format("http://%s:1400/customsd", sonosControllerIp);
LOG.info((enabled ? "Enabling" : "Disabling") + " Sonos music service, using Sonos controller IP " + sonosControllerIp +
- ", SID " + sonosServiceId + ", and Subsonic URL " + localUrl);
+ ", SID " + sonosServiceId + ", and Libresonic URL " + localUrl);
List> params = new ArrayList>();
params.add(Pair.create("sid", String.valueOf(sonosServiceId)));
@@ -68,9 +68,9 @@ public class SonosServiceRegistration {
params.add(Pair.create("caps", "ucPlaylists"));
params.add(Pair.create("caps", "extendedMD"));
params.add(Pair.create("presentationMapVersion", "1"));
- params.add(Pair.create("presentationMapUri", subsonicBaseUrl + "sonos/presentationMap.xml"));
+ params.add(Pair.create("presentationMapUri", libresonicBaseUrl + "sonos/presentationMap.xml"));
params.add(Pair.create("stringsVersion", "5"));
- params.add(Pair.create("stringsUri", subsonicBaseUrl + "sonos/strings.xml"));
+ params.add(Pair.create("stringsUri", libresonicBaseUrl + "sonos/strings.xml"));
}
String result = execute(controllerUrl, params);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosSoapFault.java b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosSoapFault.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosSoapFault.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosSoapFault.java
index a824cf21..8bb92c53 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/sonos/SonosSoapFault.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/sonos/SonosSoapFault.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2015 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.sonos;
+package org.libresonic.player.service.sonos;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/ApacheUpnpServiceConfiguration.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/ApacheUpnpServiceConfiguration.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/ApacheUpnpServiceConfiguration.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/ApacheUpnpServiceConfiguration.java
index eeadce90..464ce2af 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/ApacheUpnpServiceConfiguration.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/ApacheUpnpServiceConfiguration.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2013 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2013 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
import java.util.concurrent.Executors;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/ClingRouter.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/ClingRouter.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/ClingRouter.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/ClingRouter.java
index fd8c8c29..b8c59644 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/ClingRouter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/ClingRouter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
import java.net.InetAddress;
import java.net.UnknownHostException;
@@ -34,7 +35,7 @@ import org.fourthline.cling.support.igd.callback.PortMappingAdd;
import org.fourthline.cling.support.igd.callback.PortMappingDelete;
import org.fourthline.cling.support.model.PortMapping;
-import net.sourceforge.subsonic.service.UPnPService;
+import org.libresonic.player.service.UPnPService;
/**
* @author Sindre Mehus
@@ -138,6 +139,6 @@ public class ClingRouter implements Router {
private PortMapping createPortMapping(int port) throws UnknownHostException {
String localIp = InetAddress.getLocalHost().getHostAddress();
- return new PortMapping(port, localIp, PortMapping.Protocol.TCP, "Subsonic");
+ return new PortMapping(port, localIp, PortMapping.Protocol.TCP, "Libresonic");
}
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/FolderBasedContentDirectory.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/FolderBasedContentDirectory.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/FolderBasedContentDirectory.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/FolderBasedContentDirectory.java
index 9702e999..7323039d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/FolderBasedContentDirectory.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/FolderBasedContentDirectory.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
import java.net.URI;
import java.net.URISyntaxException;
@@ -39,21 +40,21 @@ import org.fourthline.cling.support.model.container.StorageFolder;
import org.fourthline.cling.support.model.item.Item;
import org.fourthline.cling.support.model.item.MusicTrack;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.domain.CoverArtScheme;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.MediaLibraryStatistics;
-import net.sourceforge.subsonic.domain.MusicFolder;
-import net.sourceforge.subsonic.domain.Playlist;
-import net.sourceforge.subsonic.service.MediaFileService;
-import net.sourceforge.subsonic.service.PlaylistService;
-import net.sourceforge.subsonic.util.Util;
+import org.libresonic.player.Logger;
+import org.libresonic.player.domain.CoverArtScheme;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.MediaLibraryStatistics;
+import org.libresonic.player.domain.MusicFolder;
+import org.libresonic.player.domain.Playlist;
+import org.libresonic.player.service.MediaFileService;
+import org.libresonic.player.service.PlaylistService;
+import org.libresonic.player.util.Util;
/**
* @author Sindre Mehus
* @version $Id$
*/
-public class FolderBasedContentDirectory extends SubsonicContentDirectory {
+public class FolderBasedContentDirectory extends LibresonicContentDirectory {
private static final Logger LOG = Logger.getLogger(FolderBasedContentDirectory.class);
private static final String CONTAINER_ID_PLAYLIST_ROOT = "playlists";
@@ -109,7 +110,7 @@ public class FolderBasedContentDirectory extends SubsonicContentDirectory {
MediaLibraryStatistics statistics = settingsService.getMediaLibraryStatistics();
root.setStorageUsed(statistics == null ? 0 : statistics.getTotalLengthInBytes());
- root.setTitle("Subsonic Media");
+ root.setTitle("Libresonic Media");
root.setRestricted(true);
root.setSearchable(false);
root.setWriteStatus(WriteStatus.NOT_WRITABLE);
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/SubsonicContentDirectory.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/LibresonicContentDirectory.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/SubsonicContentDirectory.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/LibresonicContentDirectory.java
index aff3c81d..61a06245 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/SubsonicContentDirectory.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/LibresonicContentDirectory.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang.StringUtils;
@@ -29,18 +30,18 @@ import org.fourthline.cling.support.model.Res;
import org.fourthline.cling.support.model.SortCriterion;
import org.seamless.util.MimeType;
-import net.sourceforge.subsonic.domain.MediaFile;
-import net.sourceforge.subsonic.domain.Player;
-import net.sourceforge.subsonic.service.PlayerService;
-import net.sourceforge.subsonic.service.SettingsService;
-import net.sourceforge.subsonic.service.TranscodingService;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.domain.MediaFile;
+import org.libresonic.player.domain.Player;
+import org.libresonic.player.service.PlayerService;
+import org.libresonic.player.service.SettingsService;
+import org.libresonic.player.service.TranscodingService;
+import org.libresonic.player.util.StringUtil;
/**
* @author Sindre Mehus
* @version $Id: TagBasedContentDirectory.java 3739 2013-12-03 11:55:01Z sindre_mehus $
*/
-public abstract class SubsonicContentDirectory extends AbstractContentDirectoryService {
+public abstract class LibresonicContentDirectory extends AbstractContentDirectoryService {
protected static final String CONTAINER_ID_ROOT = "0";
@@ -95,7 +96,7 @@ public abstract class SubsonicContentDirectory extends AbstractContentDirectoryS
int port = settingsService.getPort();
String contextPath = settingsService.getUrlRedirectContextPath();
- // Note: Serving media and cover art with http (as opposed to https) works when using jetty and SubsonicDeployer.
+ // Note: Serving media and cover art with http (as opposed to https) works when using jetty and LibresonicDeployer.
StringBuilder url = new StringBuilder("http://")
.append(settingsService.getLocalIpAddress())
.append(":")
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/MSMediaReceiverRegistrarService.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/MSMediaReceiverRegistrarService.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/MSMediaReceiverRegistrarService.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/MSMediaReceiverRegistrarService.java
index 362e4ed9..2231232d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/MSMediaReceiverRegistrarService.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/MSMediaReceiverRegistrarService.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
import org.fourthline.cling.support.xmicrosoft.AbstractMediaReceiverRegistrarService;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/NATPMPRouter.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/NATPMPRouter.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/NATPMPRouter.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/NATPMPRouter.java
index 3099a0a9..e9106714 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/NATPMPRouter.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/NATPMPRouter.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
import com.hoodcomputing.natpmp.MapRequestMessage;
import com.hoodcomputing.natpmp.NatPmpDevice;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/Router.java b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/Router.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/Router.java
rename to libresonic-main/src/main/java/org/libresonic/player/service/upnp/Router.java
index 13d8c64c..631c604e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/service/upnp/Router.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/service/upnp/Router.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.service.upnp;
+package org.libresonic.player.service.upnp;
/**
* @author Sindre Mehus
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/EscapeJavaScriptTag.java b/libresonic-main/src/main/java/org/libresonic/player/taglib/EscapeJavaScriptTag.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/EscapeJavaScriptTag.java
rename to libresonic-main/src/main/java/org/libresonic/player/taglib/EscapeJavaScriptTag.java
index c7c09677..736e918d 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/EscapeJavaScriptTag.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/taglib/EscapeJavaScriptTag.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.taglib;
+package org.libresonic.player.taglib;
import org.apache.commons.lang.StringEscapeUtils;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/FormatBytesTag.java b/libresonic-main/src/main/java/org/libresonic/player/taglib/FormatBytesTag.java
similarity index 81%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/FormatBytesTag.java
rename to libresonic-main/src/main/java/org/libresonic/player/taglib/FormatBytesTag.java
index 0279316b..81c53903 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/FormatBytesTag.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/taglib/FormatBytesTag.java
@@ -1,24 +1,25 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.taglib;
+package org.libresonic.player.taglib;
-import net.sourceforge.subsonic.util.*;
+import org.libresonic.player.util.*;
import org.springframework.web.servlet.support.*;
import javax.servlet.http.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/ParamTag.java b/libresonic-main/src/main/java/org/libresonic/player/taglib/ParamTag.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/ParamTag.java
rename to libresonic-main/src/main/java/org/libresonic/player/taglib/ParamTag.java
index 1043902e..42975ce9 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/ParamTag.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/taglib/ParamTag.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.taglib;
+package org.libresonic.player.taglib;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/UrlTag.java b/libresonic-main/src/main/java/org/libresonic/player/taglib/UrlTag.java
similarity index 91%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/UrlTag.java
rename to libresonic-main/src/main/java/org/libresonic/player/taglib/UrlTag.java
index 141ba847..4ef8d9d5 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/UrlTag.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/taglib/UrlTag.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.taglib;
+package org.libresonic.player.taglib;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.filter.ParameterDecodingFilter;
-import net.sourceforge.subsonic.util.StringUtil;
+import org.libresonic.player.Logger;
+import org.libresonic.player.filter.ParameterDecodingFilter;
+import org.libresonic.player.util.StringUtil;
import org.apache.taglibs.standard.tag.common.core.UrlSupport;
import org.apache.commons.lang.CharUtils;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/WikiTag.java b/libresonic-main/src/main/java/org/libresonic/player/taglib/WikiTag.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/WikiTag.java
rename to libresonic-main/src/main/java/org/libresonic/player/taglib/WikiTag.java
index e099bd1e..3e7a6065 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/taglib/WikiTag.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/taglib/WikiTag.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.taglib;
+package org.libresonic.player.taglib;
import org.radeox.api.engine.*;
import org.radeox.api.engine.context.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/theme/SubsonicThemeResolver.java b/libresonic-main/src/main/java/org/libresonic/player/theme/LibresonicThemeResolver.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/theme/SubsonicThemeResolver.java
rename to libresonic-main/src/main/java/org/libresonic/player/theme/LibresonicThemeResolver.java
index 874c2e9c..437948a4 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/theme/SubsonicThemeResolver.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/theme/LibresonicThemeResolver.java
@@ -1,25 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.theme;
+package org.libresonic.player.theme;
-import net.sourceforge.subsonic.service.*;
-import net.sourceforge.subsonic.domain.*;
+import org.libresonic.player.service.*;
+import org.libresonic.player.domain.*;
import org.springframework.web.servlet.*;
import javax.servlet.http.*;
@@ -30,7 +31,7 @@ import java.util.*;
*
* @author Sindre Mehus
*/
-public class SubsonicThemeResolver implements ThemeResolver {
+public class LibresonicThemeResolver implements ThemeResolver {
private SecurityService securityService;
private SettingsService settingsService;
@@ -43,14 +44,14 @@ public class SubsonicThemeResolver implements ThemeResolver {
* @return The current theme name
*/
public String resolveThemeName(HttpServletRequest request) {
- String themeId = (String) request.getAttribute("subsonic.theme");
+ String themeId = (String) request.getAttribute("libresonic.theme");
if (themeId != null) {
return themeId;
}
// Optimization: Cache theme in the request.
themeId = doResolveThemeName(request);
- request.setAttribute("subsonic.theme", themeId);
+ request.setAttribute("libresonic.theme", themeId);
return themeId;
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/theme/SubsonicThemeSource.java b/libresonic-main/src/main/java/org/libresonic/player/theme/LibresonicThemeSource.java
similarity index 77%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/theme/SubsonicThemeSource.java
rename to libresonic-main/src/main/java/org/libresonic/player/theme/LibresonicThemeSource.java
index 5bcca8b9..2ac4c5e3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/theme/SubsonicThemeSource.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/theme/LibresonicThemeSource.java
@@ -1,29 +1,30 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.theme;
+package org.libresonic.player.theme;
import org.springframework.ui.context.support.ResourceBundleThemeSource;
import org.springframework.context.MessageSource;
import org.springframework.context.support.ResourceBundleMessageSource;
-import net.sourceforge.subsonic.domain.Theme;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.domain.Theme;
+import org.libresonic.player.service.SettingsService;
/**
* Theme source implementation which uses two resource bundles: the
@@ -31,7 +32,7 @@ import net.sourceforge.subsonic.service.SettingsService;
*
* @author Sindre Mehus
*/
-public class SubsonicThemeSource extends ResourceBundleThemeSource {
+public class LibresonicThemeSource extends ResourceBundleThemeSource {
private SettingsService settingsService;
private String basenamePrefix;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredDiskFileItem.java b/libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredDiskFileItem.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredDiskFileItem.java
rename to libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredDiskFileItem.java
index f9b89bb7..dbdaee36 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredDiskFileItem.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredDiskFileItem.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.upload;
+package org.libresonic.player.upload;
import org.apache.commons.fileupload.disk.DiskFileItem;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredDiskFileItemFactory.java b/libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredDiskFileItemFactory.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredDiskFileItemFactory.java
rename to libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredDiskFileItemFactory.java
index b5d6125d..94404dd3 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredDiskFileItemFactory.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredDiskFileItemFactory.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.upload;
+package org.libresonic.player.upload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredOutputStream.java b/libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredOutputStream.java
similarity index 80%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredOutputStream.java
rename to libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredOutputStream.java
index c7f0d525..d7d1b210 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/MonitoredOutputStream.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/upload/MonitoredOutputStream.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.upload;
+package org.libresonic.player.upload;
import java.io.OutputStream;
import java.io.IOException;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/UploadListener.java b/libresonic-main/src/main/java/org/libresonic/player/upload/UploadListener.java
similarity index 66%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/upload/UploadListener.java
rename to libresonic-main/src/main/java/org/libresonic/player/upload/UploadListener.java
index 7eac415a..03defff7 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/upload/UploadListener.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/upload/UploadListener.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.upload;
+package org.libresonic.player.upload;
/**
* Extension of Commons FileUpload for monitoring the upload progress.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/BoundedList.java b/libresonic-main/src/main/java/org/libresonic/player/util/BoundedList.java
similarity index 82%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/BoundedList.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/BoundedList.java
index fb240d5f..68f9f6a2 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/BoundedList.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/BoundedList.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.util.*;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/FileUtil.java b/libresonic-main/src/main/java/org/libresonic/player/util/FileUtil.java
similarity index 92%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/FileUtil.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/FileUtil.java
index d7230cf2..43a3a150 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/FileUtil.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/FileUtil.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.io.Closeable;
import java.io.File;
@@ -24,7 +25,7 @@ import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Arrays;
-import net.sourceforge.subsonic.Logger;
+import org.libresonic.player.Logger;
/**
* Miscellaneous file utility methods.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/HttpRange.java b/libresonic-main/src/main/java/org/libresonic/player/util/HttpRange.java
similarity index 90%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/HttpRange.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/HttpRange.java
index 0213d769..ea7f8546 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/HttpRange.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/HttpRange.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/Pair.java b/libresonic-main/src/main/java/org/libresonic/player/util/Pair.java
similarity index 79%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/Pair.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/Pair.java
index 58ea61e6..b10028fb 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/Pair.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/Pair.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.io.Serializable;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/StringUtil.java b/libresonic-main/src/main/java/org/libresonic/player/util/StringUtil.java
similarity index 96%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/StringUtil.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/StringUtil.java
index f83da09a..3e3ced4f 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/StringUtil.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/StringUtil.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.io.BufferedReader;
import java.io.File;
@@ -45,7 +46,7 @@ import org.apache.commons.codec.binary.Hex;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
-import net.sourceforge.subsonic.domain.UrlRedirectType;
+import org.libresonic.player.domain.UrlRedirectType;
/**
* Miscellaneous string utility methods.
@@ -497,8 +498,8 @@ public final class StringUtil {
URLBuilder urlBuilder = new URLBuilder(localUrl);
if (urlRedirectionEnabled) {
if (urlRedirectType == UrlRedirectType.NORMAL) {
- String subsonicHost = urlRedirectFrom + ".subsonic.org";
- urlBuilder.setHost(subsonicHost);
+ String libresonicHost = urlRedirectFrom + ".libresonic.org";
+ urlBuilder.setHost(libresonicHost);
urlBuilder.setPort(80);
urlBuilder.setProtocol(URLBuilder.HTTP);
if (StringUtils.isNotBlank(urlRedirectContextPath)) {
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/URLBuilder.java b/libresonic-main/src/main/java/org/libresonic/player/util/URLBuilder.java
similarity index 87%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/URLBuilder.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/URLBuilder.java
index 09370e35..b1382222 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/URLBuilder.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/URLBuilder.java
@@ -1,23 +1,23 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.net.MalformedURLException;
import java.net.URL;
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/Util.java b/libresonic-main/src/main/java/org/libresonic/player/util/Util.java
similarity index 84%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/util/Util.java
rename to libresonic-main/src/main/java/org/libresonic/player/util/Util.java
index 6b644e7e..b16b17af 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/util/Util.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/util/Util.java
@@ -1,22 +1,23 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.util;
+package org.libresonic.player.util;
import java.net.Inet4Address;
import java.net.InetAddress;
@@ -31,8 +32,8 @@ import java.util.Random;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
-import net.sourceforge.subsonic.Logger;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.Logger;
+import org.libresonic.player.service.SettingsService;
/**
* Miscellaneous general utility methods.
@@ -52,17 +53,17 @@ public final class Util {
public static String getDefaultMusicFolder() {
String def = isWindows() ? "c:\\music" : "/var/music";
- return System.getProperty("subsonic.defaultMusicFolder", def);
+ return System.getProperty("libresonic.defaultMusicFolder", def);
}
public static String getDefaultPodcastFolder() {
String def = isWindows() ? "c:\\music\\Podcast" : "/var/music/Podcast";
- return System.getProperty("subsonic.defaultPodcastFolder", def);
+ return System.getProperty("libresonic.defaultPodcastFolder", def);
}
public static String getDefaultPlaylistFolder() {
String def = isWindows() ? "c:\\playlists" : "/var/playlists";
- return System.getProperty("subsonic.defaultPlaylistFolder", def);
+ return System.getProperty("libresonic.defaultPlaylistFolder", def);
}
public static boolean isWindows() {
@@ -70,7 +71,7 @@ public final class Util {
}
public static boolean isWindowsInstall() {
- return "true".equals(System.getProperty("subsonic.windowsInstall"));
+ return "true".equals(System.getProperty("libresonic.windowsInstall"));
}
/**
@@ -91,7 +92,7 @@ public final class Util {
}
/**
- * Returns the local IP address. Honours the "subsonic.host" system property.
+ * Returns the local IP address. Honours the "libresonic.host" system property.
*
* NOTE: For improved performance, use {@link SettingsService#getLocalIpAddress()} instead.
*
@@ -99,9 +100,9 @@ public final class Util {
*/
public static String getLocalIpAddress() {
List ipAddresses = getLocalIpAddresses();
- String subsonicHost = System.getProperty("subsonic.host");
- if (subsonicHost != null && ipAddresses.contains(subsonicHost)) {
- return subsonicHost;
+ String libresonicHost = System.getProperty("libresonic.host");
+ if (libresonicHost != null && ipAddresses.contains(libresonicHost)) {
+ return libresonicHost;
}
return ipAddresses.get(0);
}
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/validator/PasswordSettingsValidator.java b/libresonic-main/src/main/java/org/libresonic/player/validator/PasswordSettingsValidator.java
similarity index 72%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/validator/PasswordSettingsValidator.java
rename to libresonic-main/src/main/java/org/libresonic/player/validator/PasswordSettingsValidator.java
index 12fb06ce..44b5260e 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/validator/PasswordSettingsValidator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/validator/PasswordSettingsValidator.java
@@ -1,26 +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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.validator;
+package org.libresonic.player.validator;
import org.springframework.validation.*;
-import net.sourceforge.subsonic.command.*;
-import net.sourceforge.subsonic.controller.*;
+import org.libresonic.player.command.*;
+import org.libresonic.player.controller.*;
/**
* Validator for {@link PasswordSettingsController}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/validator/PremiumSettingsValidator.java b/libresonic-main/src/main/java/org/libresonic/player/validator/PremiumSettingsValidator.java
similarity index 70%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/validator/PremiumSettingsValidator.java
rename to libresonic-main/src/main/java/org/libresonic/player/validator/PremiumSettingsValidator.java
index c1781da4..e4a2438b 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/validator/PremiumSettingsValidator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/validator/PremiumSettingsValidator.java
@@ -1,29 +1,30 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.validator;
+package org.libresonic.player.validator;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
-import net.sourceforge.subsonic.command.PremiumSettingsCommand;
-import net.sourceforge.subsonic.controller.PremiumSettingsController;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.PremiumSettingsCommand;
+import org.libresonic.player.controller.PremiumSettingsController;
+import org.libresonic.player.service.SettingsService;
/**
* Validator for {@link PremiumSettingsController}.
diff --git a/subsonic-main/src/main/java/net/sourceforge/subsonic/validator/UserSettingsValidator.java b/libresonic-main/src/main/java/org/libresonic/player/validator/UserSettingsValidator.java
similarity index 83%
rename from subsonic-main/src/main/java/net/sourceforge/subsonic/validator/UserSettingsValidator.java
rename to libresonic-main/src/main/java/org/libresonic/player/validator/UserSettingsValidator.java
index 87a2b0f7..3686e8c6 100644
--- a/subsonic-main/src/main/java/net/sourceforge/subsonic/validator/UserSettingsValidator.java
+++ b/libresonic-main/src/main/java/org/libresonic/player/validator/UserSettingsValidator.java
@@ -1,27 +1,28 @@
/*
- 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 .
+ along with Libresonic. If not, see .
- Copyright 2009 (C) Sindre Mehus
+ Copyright 2016 (C) Libresonic Authors
+ Based upon Subsonic, Copyright 2009 (C) Sindre Mehus
*/
-package net.sourceforge.subsonic.validator;
+package org.libresonic.player.validator;
-import net.sourceforge.subsonic.command.UserSettingsCommand;
-import net.sourceforge.subsonic.controller.UserSettingsController;
-import net.sourceforge.subsonic.service.SecurityService;
-import net.sourceforge.subsonic.service.SettingsService;
+import org.libresonic.player.command.UserSettingsCommand;
+import org.libresonic.player.controller.UserSettingsController;
+import org.libresonic.player.service.SecurityService;
+import org.libresonic.player.service.SettingsService;
import org.apache.commons.lang.StringUtils;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
diff --git a/subsonic-main/src/main/resources/ehcache.xml b/libresonic-main/src/main/resources/ehcache.xml
similarity index 99%
rename from subsonic-main/src/main/resources/ehcache.xml
rename to libresonic-main/src/main/resources/ehcache.xml
index ea04b885..1f4950df 100644
--- a/subsonic-main/src/main/resources/ehcache.xml
+++ b/libresonic-main/src/main/resources/ehcache.xml
@@ -69,7 +69,7 @@ used with JMX monitors.
Subdirectories can be specified below the property e.g. java.io.tmpdir/one
-->
-
+
diff --git a/subsonic-main/src/main/resources/log4j.properties b/libresonic-main/src/main/resources/log4j.properties
similarity index 100%
rename from subsonic-main/src/main/resources/log4j.properties
rename to libresonic-main/src/main/resources/log4j.properties
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/controller/default_cover.jpg b/libresonic-main/src/main/resources/org/libresonic/player/controller/default_cover.jpg
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/controller/default_cover.jpg
rename to libresonic-main/src/main/resources/org/libresonic/player/controller/default_cover.jpg
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/All-Caps.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/All-Caps.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/All-Caps.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/All-Caps.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Army-Officer.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Army-Officer.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Army-Officer.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Army-Officer.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Beatnik.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Beatnik.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Beatnik.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Beatnik.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Clown.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Clown.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Clown.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Clown.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Commie-Pinko.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Commie-Pinko.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Commie-Pinko.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Commie-Pinko.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Cool.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Cool.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Cool.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Cool.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Drum.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Drum.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Drum.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Drum.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Engineer.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Engineer.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Engineer.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Engineer.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Fire-Guitar.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Fire-Guitar.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Fire-Guitar.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Fire-Guitar.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Footballer.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Footballer.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Footballer.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Footballer.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Formal.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Formal.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Formal.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Formal.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Forum-Flirt.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Forum-Flirt.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Forum-Flirt.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Forum-Flirt.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Gamer.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Gamer.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Gamer.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Gamer.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Green-Boy.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Green-Boy.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Green-Boy.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Green-Boy.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Headphones.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Headphones.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Headphones.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Headphones.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Hopelessly-Addicted.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Hopelessly-Addicted.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Hopelessly-Addicted.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Hopelessly-Addicted.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Jekyll-And-Hyde.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Jekyll-And-Hyde.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Jekyll-And-Hyde.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Jekyll-And-Hyde.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Joker.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Joker.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Joker.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Joker.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Laugh.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Laugh.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Laugh.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Laugh.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Linux-Zealot.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Linux-Zealot.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Linux-Zealot.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Linux-Zealot.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Lurker.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Lurker.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Lurker.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Lurker.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Mac-Zealot.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Mac-Zealot.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Mac-Zealot.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Mac-Zealot.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Mic.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Mic.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Mic.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Mic.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Moderator.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Moderator.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Moderator.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Moderator.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Newbie.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Newbie.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Newbie.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Newbie.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/No-Dissent.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/No-Dissent.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/No-Dissent.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/No-Dissent.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Performer.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Performer.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Performer.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Performer.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Push-My-Button.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Push-My-Button.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Push-My-Button.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Push-My-Button.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Ray-Of-Sunshine.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Ray-Of-Sunshine.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Ray-Of-Sunshine.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Ray-Of-Sunshine.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-1.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-1.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-1.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-1.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-2.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-2.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-2.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-2.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-3.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-3.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-3.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-3.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-4.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-4.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Red-Hot-Chili-Peppers-4.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Red-Hot-Chili-Peppers-4.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Ringmaster.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Ringmaster.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Ringmaster.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Ringmaster.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Rumor-Junkie.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Rumor-Junkie.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Rumor-Junkie.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Rumor-Junkie.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Sozzled-Surfer.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Sozzled-Surfer.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Sozzled-Surfer.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Sozzled-Surfer.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Statistician.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Statistician.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Statistician.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Statistician.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Study.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Study.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Study.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Study.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Tech-Support.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Tech-Support.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Tech-Support.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Tech-Support.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/The-Guru.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/The-Guru.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/The-Guru.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/The-Guru.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/The-Referee.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/The-Referee.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/The-Referee.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/The-Referee.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Troll.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Troll.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Troll.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Troll.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Turntable.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Turntable.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Turntable.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Turntable.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Uptight.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Uptight.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Uptight.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Uptight.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Vinyl.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Vinyl.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Vinyl.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Vinyl.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Windows-Zealot.png b/libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Windows-Zealot.png
similarity index 100%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/dao/schema/Windows-Zealot.png
rename to libresonic-main/src/main/resources/org/libresonic/player/dao/schema/Windows-Zealot.png
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_bg.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_bg.properties
similarity index 97%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_bg.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_bg.properties
index 86c294f1..20af4ffa 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_bg.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_bg.properties
@@ -45,7 +45,7 @@ top.more = \u041E\u0449\u0435
top.help = \u041E\u0442\u043D\u043E\u0441\u043D\u043E
top.search = \u0422\u044A\u0440\u0441\u0435\u043D\u0435
top.upgrade = \u041D\u0430\u043B\u0438\u0447\u043D\u0430 \u0435 \u043D\u043E\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044F. \u0421\u0432\u0430\u043B\u0438 {0} {1} \
- \u0442\u0443\u043A.
+ \u0442\u0443\u043A.
top.missing = \u041D\u044F\u043C\u0430 \u043D\u0430\u043B\u0438\u0447\u043D\u0438 \u043F\u0430\u043F\u043A\u0438 \u0441 \u043C\u0443\u0437\u0438\u043A\u0430. \u041C\u043E\u043B\u044F \u043F\u0440\u043E\u043C\u0435\u043D\u0435\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438\u0442\u0435.
top.logout = \u0418\u0437\u043B\u0435\u0437 {0}
@@ -115,7 +115,7 @@ search.hits.songs = \u041F\u0435\u0441\u043D\u0438
gettingStarted.title = \u0414\u0430 \u0437\u0430\u043F\u043E\u0447\u0432\u0430\u043C\u0435
gettingStarted.text =
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_ca.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_ca.properties
similarity index 97%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_ca.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_ca.properties
index 8071bad8..3c0d32cf 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_ca.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_ca.properties
@@ -45,7 +45,7 @@ top.more = M\u00E9s
top.help = Ajuda
top.search = Buscar
top.upgrade = Una nova versi\u00F3 est\u00E0 disponible. Descarregar {0} {1} \
- aqu\u00ED.
+ aqu\u00ED.
top.missing = No s'ha trobat cap directori. Si us plau, canvi\u00EF la configuraci\u00F3.
top.logout = Desconnectar {0}
@@ -134,7 +134,7 @@ search.hits.songs = Can\u00E7ons
gettingStarted.title = Primers passos
gettingStarted.text =
Benvingut a Libresonic! Per tal de configurar el programa de la manera m\u00E9s r\u00E0pida possible, nom\u00E9s cal que segueixi els seg\u00FCent passos. \
Cliqui al bot\u00F3 d''Inici que hi ha a la barra superior per tal de tornar a aquesta p\u00E0gina.
\
-
Per a m\u00E9s informaci\u00F3, consulti la p\u00E0gina la guia Getting started.
+
Per a m\u00E9s informaci\u00F3, consulti la p\u00E0gina la guia Getting started.
gettingStarted.step1.title = Canviar la contrasenya de l'administrador.
gettingStarted.step1.text = Per tal de fer m\u00E9s segur el seu servidor es recomana canviar la contrasenya per defecte de l''administrador. \
Tamb\u00E9 pot crear comptes d'usuari nous amb diferents privilegis associats.
@@ -142,7 +142,7 @@ gettingStarted.step2.title = Configuri els directoris multim\u00E8dia.
gettingStarted.step2.text = Indiqui a Libresonic a on guarda els arxius de m\u00FAsica i de v\u00EDdeo.
gettingStarted.step3.title = Configuri els par\u00E0metres de xarxa.
gettingStarted.step3.text = Par\u00E0metres \u00FAtil per tal de gaudir de Libresonic remotament a trav\u00E9s de Internet, \
- o compartir-ho amb la fam\u00EDlia i amics. Aconsegueixi la seva adre\u00E7a personal el_seu_nom.subsonic.org.
+ o compartir-ho amb la fam\u00EDlia i amics. Aconsegueixi la seva adre\u00E7a personal el_seu_nom.libresonic.org.
gettingStarted.hide = No mostrar aquest missatge de nou
gettingStarted.hidealert = Per tal de tornar a mostrar aquest missatge, accedeixi a Configuraci\u00F3 > General.
@@ -182,8 +182,8 @@ more.random.year = i any
more.random.anyyear = Qualsevol
more.random.folder = i directori
more.random.anyfolder = Qualsevol
-more.apps.title = Subsonic Apps
-more.apps.text =
Hi ha aplicacions de Subsonic disponibles per a Android, iPhone, \
+more.apps.title = Libresonic Apps
+more.apps.text =
Hi ha aplicacions de Libresonic disponibles per a Android, iPhone, \
Windows Phone 7 i AIR.
Vost\u00E8 pot controlar {0} amb qualsevol m\u00F2bil que tingui el WAP activat o amb una PDA. \
@@ -212,13 +212,13 @@ upload.unzipped = Descomprimit {0}
# help.jsp
help.title = Quant a {0}
help.upgrade = Avis! Una nova versi\u00F3 est\u00E0 disponible. Descarregar {0} {1} \
- aqu\u00ED.
+ aqu\u00ED.
help.version.title = Versi\u00F3
help.builddate.title = Data de creaci\u00F3
help.server.title = Server
help.license.title = Llic\u00E8ncia
help.license.text = {0} es software lliure distribu\u00EFt sota llic\u00E8ncia de codi obert GPL. \
- {0} usa llibreries de tercers sota les respectives llic\u00E8ncies. Si us plau, noti que {0} NO \
+ {0} usa llibreries de tercers sota les respectives llic\u00E8ncies. Si us plau, noti que {0} NO \
\u00E9s una eina per a la distribuci\u00F3 il\u00B7legal de material amb copyright. Prengui atenci\u00F3 a les lleis espec\u00EDfiques del seu pa\u00EDs envers aquest punt.
help.homepage.title = P\u00E0gina web del projecte
help.forum.title = F\u00F2rum
@@ -227,7 +227,7 @@ help.contact.title = Contacte
help.contact.text = {0} est\u00E0 desenvolupat i mantingut per Sindre Mehus \
(sindre@activeobjects.no). \
Si vost\u00E8 t\u00E9 alguna pregunta, comentari o suggeriment, si us plau visiti \
- Subsonic Forum.
+ Libresonic Forum.
help.log = Log
help.logfile = El log complet esta guardat a {0}.
@@ -345,7 +345,7 @@ musicfoldersettings.organizebyfolderstructure.description = Usi aquesta opci\u00
# networkSettings.jsp
networksettings.text = Usi els seg\u00FCents par\u00E0metres per a controlar com s'accedeix al seu servidor Libresonic a trav\u00E9s de Internet. \
- Si experimenta algun tipus de contratemps, visiti la guia de Primers passos.
+ Si experimenta algun tipus de contratemps, visiti la guia de Primers passos.
networksettings.portforwardingenabled = Configuri el seu router de manera autom\u00E0tica per tal de permetre les connexions entrants a Libresonic (usant reenviament de ports UPnP o NAT-PMP).
networksettings.portforwardinghelp = Si el seu router no es pot configurar de manera autom\u00E0tica pot intentar configurar-lo de manera manual. \
Pot intentar seguir les instruccions de portforward.com. \
@@ -370,7 +370,7 @@ transcodingsettings.info =
(%s = el format de l'arxiu que vole
necessita espai de disc extra.
\
El canvi de format es realitza mitjan\u00E7ant programes de l\u00EDnia de comandes de tercers els quals s'han de trobar instal\u00B7lats en {0}. \
Un paquet de windows pel canvi de format \
- est\u00E0 disponible aqu\u00ED. Vost\u00E8 pot afegir el seu propi programa \
+ est\u00E0 disponible aqu\u00ED. Vost\u00E8 pot afegir el seu propi programa \
si compleix els seg\u00FCent requisits: \
\
Ha de tenir una interf\u00EDcie de l\u00EDnia de comandes.
\
@@ -559,7 +559,7 @@ share.facebook = Share on Facebook
share.twitter = Share on Twitter
share.googleplus = Share on Google+
share.link = Or share this with someone by sending them this link: {0}
-share.disabled = To share your music with someone you must first register your own subsonic.org address. \
+share.disabled = To share your music with someone you must first register your own libresonic.org address. \
Please go to Settings > Network (administrative rights required).
share.manage = Manage my shared media
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_cs.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_cs.properties
similarity index 96%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_cs.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_cs.properties
index 5fa7ef2d..97c8dd83 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_cs.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_cs.properties
@@ -70,7 +70,7 @@ top.more = V\u00EDce
top.help = N\u00E1pov\u011Bda
top.search = Hledat
top.upgrade = Je dostupn\u00E1 nov\u00E1 verze. St\u00E1hnout {0} {1} \
- zde.
+ zde.
top.missing = Nebyly nalezeny \u017E\u00E1dn\u00E9 slo\u017Eky m\u00E9di\u00ED. Zm\u011B\u0148te nastaven\u00ED.
top.logout = Odhl\u00E1sit u\u017Eivatele {0}
top.getpremium = Z\u00EDskat Subsonic Premium
@@ -173,9 +173,9 @@ search.hits.songs = Skladby
gettingStarted.title = Za\u010D\u00EDn\u00E1me
gettingStarted.text =
V\u00EDt\u00E1 v\u00E1s Libresonic! Nastaven\u00ED bude provedeno b\u011Bhem p\u00E1r okam\u017Eik\u016F, postupujte podle n\u00ED\u017Ee uveden\u00FDch jednoduch\u00FDch krok\u016F. \
Pro n\u00E1vrat na tuto obrazovku klikn\u011Bte na tla\u010D\u00EDtko "Dom\u016F" v n\u00E1strojov\u00E9 li\u0161t\u011B naho\u0159e.
\
-
Pro v\u00EDce informac\u00ED si p\u0159e\u010Dt\u011Bte p\u0159\u00EDru\u010Dku Za\u010D\u00EDn\u00E1me (v anglick\u00E9m jazyce).
+
Pro v\u00EDce informac\u00ED si p\u0159e\u010Dt\u011Bte p\u0159\u00EDru\u010Dku Za\u010D\u00EDn\u00E1me (v anglick\u00E9m jazyce).
gettingStarted.root = Upozorn\u011Bn\u00ED! Proces Libresonic b\u011B\u017E\u00ED jako u\u017Eivatel root. Uva\u017Eujte o \
- zm\u011Bn\u011B.
+ zm\u011Bn\u011B.
gettingStarted.step1.title = Zm\u011B\u0148te heslo spr\u00E1vce.
gettingStarted.step1.text = Zabezpe\u010Dte si sv\u016Fj server zm\u011Bnou v\u00FDchoz\u00EDho hesla pro \u00FA\u010Det administr\u00E1tora. \
M\u016F\u017Eete tak\u00E9 vytvo\u0159it nov\u00E9 \u00FA\u010Dty u\u017Eivatel\u016F s rozd\u00EDln\u00FDmi opr\u00E1vn\u011Bn\u00EDmi.
@@ -184,7 +184,7 @@ gettingStarted.step2.text = Ur\u010Dete slo\u017Eky, kde m\u00E1te svou hudbu a
gettingStarted.step3.title = Nastavte s\u00ED\u0165.
gettingStarted.step3.text = N\u011Bkter\u00E1 u\u017Eite\u010Dn\u00E1 nastaven\u00ED, pokud si chcete u\u017E\u00EDvat svou hudbu z internetu, \
nebo ji sd\u00EDlet s rodinou a p\u0159\u00E1teli. Z\u00EDskejte svou soukromou adresu \
- vasejmeno.subsonic.org.
+ vasejmeno.libresonic.org.
gettingStarted.hide = Toto znovu nezobrazovat
gettingStarted.hidealert = Pro op\u011Btovn\u00E9 zobrazen\u00ED t\u00E9to obrazovky p\u0159ejd\u011Bte do Nastaven\u00ED > Obecn\u00E9.
@@ -232,13 +232,13 @@ more.random.year = a roku
more.random.anyyear = Jak\u00FDkoliv
more.random.folder = ve slo\u017Ece
more.random.anyfolder = Jak\u00E1koliv
-more.apps.title = Aplikace Subsonicu
-more.apps.text =
Vyzkou\u0161ejte neust\u00E1le rostouc\u00ED seznam aplikac\u00ED Subsonicu. \
+more.apps.title = Aplikace Libresonicu
+more.apps.text =
Vyzkou\u0161ejte neust\u00E1le rostouc\u00ED seznam aplikac\u00ED Libresonicu. \
Poskytuj\u00ED z\u00E1bavu a alternativn\u00ED zp\u016Fsoby, jak si u\u017E\u00EDt svou sb\u00EDrku m\u00E9di\u00ED - bez ohledu na to, kde se nach\u00E1z\u00EDte. \
Aplikace jsou dostupn\u00E9 pro Android, iPhone, Windows Phone, BlackBerry, Roku a spoustu dal\u0161\u00EDch.
more.minisub.title = MiniSub
-more.minisub.text =
MiniSub je HTML5 minip\u0159ehr\u00E1va\u010D pro Subsonic. \
- Je sou\u010D\u00E1st\u00ED webov\u00E9 aplikace Subsonicu, pro jeho spu\u0161t\u011Bn\u00ED klikn\u011Bte sem, \
+more.minisub.text =
MiniSub je HTML5 minip\u0159ehr\u00E1va\u010D pro Libresonic. \
+ Je sou\u010D\u00E1st\u00ED webov\u00E9 aplikace Libresonicu, pro jeho spu\u0161t\u011Bn\u00ED klikn\u011Bte sem, \
nebo nav\u0161tivte str\u00E1nku GitHub pro z\u00EDsk\u00E1n\u00ED nejnov\u011Bj\u0161\u00ED verze. \
Je tak\u00E9 dostupn\u00FD jako aplikace Chrome.
more.mobile.title = Mobiln\u00ED telefon
@@ -267,7 +267,7 @@ upload.unzipped = Rozbaleno {0}
# help.jsp
help.title = O aplikaci {0}
help.upgrade = Pozor! Je dostupn\u00E1 nov\u00E1 verze. St\u00E1hnout {0} {1} \
- zde.
+ zde.
help.premium.title = Licence
help.premium.expires = (vypr\u0161\u00ED {0})
help.premium.upgrade = Upgradujte na Subsonic Premium, abyste si u\u017Eili spoustu funkc\u00ED nav\u00EDc!
@@ -277,7 +277,7 @@ help.builddate.title = Datum sestaven\u00ED
help.server.title = Server
help.license.title = Podm\u00EDnky pou\u017Eit\u00ED
help.license.text = {0} je software distribuovan\u00FD pod GPL open-source licenc\u00ED. \
- {0} pou\u017E\u00EDv\u00E1 licencovan\u00E9 knihovny t\u0159et\u00EDch stran. Uv\u011Bdomte si, \u017Ee {0} nen\u00ED \
+ {0} pou\u017E\u00EDv\u00E1 licencovan\u00E9 knihovny t\u0159et\u00EDch stran. Uv\u011Bdomte si, \u017Ee {0} nen\u00ED \
n\u00E1stroj pro neleg\u00E1ln\u00ED distribuci materi\u00E1lu chr\u00E1n\u011Bn\u00E9ho autorsk\u00FDmi pr\u00E1vy. V\u017Edy v\u011Bnujte pozornost a dodr\u017Eujte p\u0159\u00EDslu\u0161n\u00E9 z\u00E1kony va\u0161\u00ED zem\u011B.
help.homepage.title = Domovsk\u00E1 str\u00E1nka
help.forum.title = F\u00F3rum
@@ -286,7 +286,7 @@ help.contact.title = Kontakt
help.contact.text = {0} je vyv\u00EDjen a udr\u017Eov\u00E1n Sindrem Mehusem \
(sindre@activeobjects.no). \
Jestli\u017Ee m\u00E1te jak\u00FDkoliv dotaz, p\u0159ipom\u00EDnku nebo n\u00E1m\u011Bt na zlep\u0161en\u00ED, nav\u0161tivte \
- f\u00F3rum Subsonicu.
+ f\u00F3rum Libresonicu.
help.log = Protokol
help.logfile = Kompletn\u00ED protokol je ulo\u017Een v {0}.
@@ -409,7 +409,7 @@ musicfoldersettings.organizebyfolderstructure.description = Tuto volbu pou\u017E
# networkSettings.jsp
networksettings.text = Pomoc\u00ED n\u00ED\u017Ee uveden\u00FDch nastaven\u00ED ur\u010Dete, jak p\u0159istupovat k va\u0161emu serveru Libresonic z internetu. \
- Pokud naraz\u00EDte na pot\u00ED\u017Ee, p\u0159e\u010Dt\u011Bte si p\u0159\u00EDru\u010Dku Za\u010D\u00EDn\u00E1me.
+ Pokud naraz\u00EDte na pot\u00ED\u017Ee, p\u0159e\u010Dt\u011Bte si p\u0159\u00EDru\u010Dku Za\u010D\u00EDn\u00E1me.
networksettings.portforwardingenabled = Automaticky nakonfigurovat router tak, aby umo\u017Enil p\u0159\u00EDchoz\u00ED p\u0159ipojen\u00ED k Libresonicu (pomoc\u00ED UPnP nebo p\u0159esm\u011Brov\u00E1n\u00ED port\u016F NAT-PMP).
networksettings.portforwardinghelp = Pokud v\u00E1\u0161 router nem\u016F\u017Ee b\u00FDt nakonfigurov\u00E1n automaticky, m\u016F\u017Eete ho nastavit ru\u010Dn\u011B. \
Postupujte podle pokyn\u016F na portforward.com. \
@@ -633,7 +633,7 @@ share.facebook = Sd\u00EDlet na Facebooku
share.twitter = Sd\u00EDlet na Twiteru
share.googleplus = Sd\u00EDlet na Google+
share.link = Nebo sd\u00EDlejte s k\u00FDmkoliv posl\u00E1n\u00EDm tohoto odkazu: {0}
-share.disabled = Abyste s n\u011Bk\u00FDm mohli sd\u00EDlet svou hudbu, mus\u00EDte si nejd\u0159\u00EDv zaregistrovat vlastn\u00ED adresu na subsonic.org. \
+share.disabled = Abyste s n\u011Bk\u00FDm mohli sd\u00EDlet svou hudbu, mus\u00EDte si nejd\u0159\u00EDv zaregistrovat vlastn\u00ED adresu na libresonic.org. \
P\u0159ejd\u011Bte na Nastaven\u00ED > S\u00ED\u0165 (jsou vy\u017Eadov\u00E1na opr\u00E1vn\u011Bn\u00ED administr\u00E1tora).
share.manage = Spravovat m\u00E1 sd\u00EDlen\u00E1 m\u00E9dia
@@ -642,11 +642,11 @@ premium.title = Subsonic Premium
premium.invalidlicense = Neplatn\u00FD licen\u010Dn\u00ED kl\u00ED\u010D.
premium.text =
Upgradujte na Subsonic Premium, abyste si u\u017Eili tyto dal\u0161\u00ED funkce:
\
\
-
Aplikace pro Android, iPhone, Blackberry a Windows Phone*.
\
-
Aplikace pro Mac, Windows, Chrome, Roku a spoustu dal\u0161\u00EDch*.
\
+
Aplikace pro Android, iPhone, Blackberry a Windows Phone*.
\
+
Aplikace pro Mac, Windows, Chrome, Roku a spoustu dal\u0161\u00EDch*.
Du kan styre {0} fra en WAP-mobiltelefon eller PDA. \
@@ -166,7 +166,7 @@ upload.unzipped = Udpakket {0}
# Help.jsp
help.title = Om {0}
help.upgrade = Bem\u00E6rk! En ny version er tilg\u00E6ngelig. Download {0} {1} \
- her.
+ her.
help.version.title = Version
help.builddate.title = Oprettelsesdato
help.server.title = Server
@@ -180,7 +180,7 @@ help.contact.title = Kontakt
help.contact.text = {0} er udviklet og vedligeholdes af Sindre Mehus \
( sindre@activeobjects.no ). \
Hvis du har sp\u00F8rgsm\u00E5l, kommentarer eller forslag til forbedringer, kan du bes\u00F8ge \
- Subsonic Forum.
+ Libresonic Forum.
help.log = Log
help.logfile = Den komplette log er gemt i {0}.
@@ -299,7 +299,7 @@ transcodingsettings.info =
(% s = Den fil, der skal omkodet,%
giver mulighed for streaming af medier, der normalt ville ikke v\u00E6re mulige at streame. Denne omkodning er foretaget on-the-fly og kr\u00E6ver nogen diskaktivitet.
\
Den faktiske omkodning er udf\u00F8rt af tredjepart kommandolinje-programmer, som skal installeres i {0}. \
En omkodning pakke til Windows \
- er tilg\u00E6ngelig her. Du kan tilf\u00F8je dine egne brugerdefinerede omkodninger og kaldet transcoder, hvis det \
+ er tilg\u00E6ngelig her. Du kan tilf\u00F8je dine egne brugerdefinerede omkodninger og kaldet transcoder, hvis det \
opfylder f\u00F8lgende krav: \
\
Den skal have en kommandolinje-gr\u00E6nseflade.
\
@@ -458,7 +458,7 @@ gettingStarted.step2.title = Indstil medie mapper.
gettingStarted.step2.text = Fort\u00E6l Libresonic hvor du opbevarer din medie.
gettingStarted.step3.title = Konfigurer netv\u00E6rksindstillinger.
gettingStarted.step3.text = Nogle nyttige indstillinger, hvis du vil nyde din medie over internettet, \
- eller dele det med familie og venner. F\u00E5 din personlige ditnavn.subsonic.org adresse.
+ eller dele det med familie og venner. F\u00E5 din personlige ditnavn.libresonic.org adresse.
gettingStarted.hide = Vis ikke denne igen
gettingStarted.hidealert = For at vise dette sk\u00E6rmbillede igen, skal du g\u00E5 til Indstillinger > Generel.
@@ -512,7 +512,7 @@ share.warning =
VIGTIG INFORMATION!
Undg\u00E5 at dele ophavsretligt
share.facebook = Del p\u00E5 Facebook
share.twitter = Del p\u00E5 Twitter
share.link = Eller dele dette med nogen, ved at sende dem dette link: {0}
-share.disabled = Hvis du vil dele din medie med nogen, skal du f\u00F8rst registrere din egen subsonic.org address. \
+share.disabled = Hvis du vil dele din medie med nogen, skal du f\u00F8rst registrere din egen libresonic.org address. \
G\u00E5 til Settings > Network (administrative rights required).
share.manage = Administrere mine delte medier
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_de.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_de.properties
similarity index 96%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_de.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_de.properties
index 2ecb6897..5cf701c7 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_de.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_de.properties
@@ -68,7 +68,7 @@ top.more = Mehr
top.help = Hilfe
top.search = Suchen
top.upgrade = Eine neue Version ist erh\u00E4ltlich. Download {0} {1} \
- hier.
+ hier.
top.missing = Keine Musikordner gefunden. Bitte die Einstellungen \u00FCberpr\u00FCfen.
top.logout = Ausloggen {0}
@@ -176,7 +176,7 @@ gettingStarted.step2.title = Musikordner einrichten.
gettingStarted.step2.text = Zeige Libresonic wo sich deine Musik befindet.
gettingStarted.step3.title = Konfiguriere Netzwerk Einstellungen.
gettingStarted.step3.text = Einige n\u00FCtzliche Einstellungen um ihre Musik \u00FCber das Internet geniessen zu k\u00F6nnen, \
- oder um sie mit Freunden oder Familie zu teilen. Holen sie sich ihre pers\u00F6nliche DeinName.subsonic.org \
+ oder um sie mit Freunden oder Familie zu teilen. Holen sie sich ihre pers\u00F6nliche DeinName.libresonic.org \
Addresse.
gettingStarted.hide = Nicht wieder anzeigen
gettingStarted.hidealert = Um diesen Bildschirm wieder anzuzeigen, gehe zu Einstellungen > Allgemein.
@@ -224,13 +224,13 @@ more.random.year = und dem Jahr
more.random.anyyear = Alle
more.random.folder = im Verzeichnis
more.random.anyfolder = Alle
-more.apps.title = Subsonic Apps
-more.apps.text =
Schauen sie in die stetig wachsende Liste der Subsonic Anwendungen. \
+more.apps.title = Libresonic Apps
+more.apps.text =
Schauen sie in die stetig wachsende Liste der Libresonic Anwendungen. \
Diese sorgt f\u00FCr Spa\u00DF und alternative M\u00F6glichkeiten um ihre Mediensammlung genie\u00DFen zu k\u00F6nnen - Egal wo sie gerade sind. \
Die Apps sind verf\u00FCgbar f\u00FCr Android, iPhone, Windows Phone, BlackBerry, Roku und viele mehr.
Jamstash ist ein HTML5 Player f\u00FCr Subsonic. Klicke hier um ihn zu starten. \
+more.jamstash.text =
Jamstash ist ein HTML5 Player f\u00FCr Libresonic. Klicke hier um ihn zu starten. \
Auch verf\u00FCgbar als Chrome App.
more.status.title = Netzwerk Status
more.status.text = \u00DCberwache den Echtzeit-Status all deiner Netzwerk-Medienstreams.
@@ -261,7 +261,7 @@ upload.unzipped = Entpackt {0}
# help.jsp
help.title = \u00DCber {0}
help.upgrade = Note! Eine neue Version ist erh\u00E4ltlich. Download {0} {1} \
- hier.
+ hier.
help.version.title = Version
help.builddate.title = Erstellungs Datum
help.server.title = Server
@@ -274,7 +274,7 @@ help.contact.title = Kontakt
help.contact.text = {0} ist von Sindre Mehus entwickelt worden \
(sindre@activeobjects.no). \
Wenn du Fragen, Kommentare oder Vorschl\u00E4ge f\u00FCr Verbesserungen hast, dann besuche bitte das \
- Subsonic Forum.
+ Libresonic Forum.
help.log = Log
help.logfile = Der komplette Log ist gespeichert in {0}.
@@ -427,7 +427,7 @@ transcodingsettings.info =
(%s = Die Datei die transcodiert wi
Festplattenspeicher.
\
Das Transcoding wird von Drittanbieter-Kommandozeilenprogrammen \u00FCbernommen, welche in {0} installiert sein m\u00FCssen. \
Mehr \u00FCber das Transcoding erf\u00E4hrst du \
- hier hier. Du kannst deinen eigenen Transcoder verwenden, wenn er \
+ hier hier. Du kannst deinen eigenen Transcoder verwenden, wenn er \
folgende Funktionen erf\u00FCllt: \
\
Er muss ein Kommandozeilen-Interface haben.
\
@@ -490,7 +490,7 @@ sonossettings.enabled = Erm\u00F6gliche Sonos Musik-Service
sonossettings.description = Verwenden Sie diese Option um den Sonos-Musikdienst in Libresonic zu aktivieren, \
und streamen Sie ihre Medien zu Sonos-Ger\u00E4ten in ihrem lokalen Netzwerk. Denken sie daran, Libresonic \
in ihrem Sonos-Controller als Musik-Dienst hinzuzuf\u00FCgen. Besuchen Sie \
- sonos.subsonic.org f\u00FCr mehr Infos. \
+ sonos.libresonic.org f\u00FCr mehr Infos. \
Zur Fehlersuche, schauen sie hier im log.
sonossettings.servicename = Musik-Dienst Name
sonossettings.servicename.description = Der Name des Musik-Dienstes wie er im Sonos-Controller angezeigt wird.
@@ -525,20 +525,20 @@ share.warning =
WICHTIGER HINWEIS!
Play fair – Teile in keinste
share.facebook = Teile auf Facebook
share.twitter = Teile auf Twitter
share.link = Oder teile es mit jemanden indem du diesen Link weitergibst: {0}
-share.disabled = Um Musik mit jemanden teilen zu k\u00F6nnen musst du erst deine eigene subsonic.org Addresse registrieren. \
+share.disabled = Um Musik mit jemanden teilen zu k\u00F6nnen musst du erst deine eigene libresonic.org Addresse registrieren. \
Bitte wechsle zu Settings > Network (Administratorrechte werden ben\u00F6tigt).
share.manage = Meine geteilten Medien verwalten
# premium.jsp
premium.title = Subsonic Premium
premium.invalidlicense = Ung\u00FCltiger Lizenzschl\u00FCssel.
-premium.text =
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_en.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties
similarity index 93%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_en.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties
index 03a9f1d1..0d7f87c7 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_en.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en.properties
@@ -70,7 +70,7 @@ top.more = More
top.help = About
top.search = Search
top.upgrade = A new version is available. Download {0} {1} \
- here.
+ here.
top.missing = No media folders found. Please change the settings.
top.logout = Log out {0}
top.getpremium = Get Subsonic Premium
@@ -179,9 +179,9 @@ search.hits.videos = Videos
gettingStarted.title = Getting started
gettingStarted.text =
Welcome to Libresonic! We'll set you up in no time, just follow the basic steps below. \
Click the "Home" button in the toolbar above to return to this screen.
\
-
For more information, please consult the Getting started guide.
+
For more information, please consult the Getting started guide.
gettingStarted.root = Warning! The Libresonic process is running as the root user. Please consider to \
- change this.
+ change this.
gettingStarted.step1.title = Change administrator password.
gettingStarted.step1.text = Secure your server by changing the default password for the administrator account. \
You can also create new user accounts with different privileges.
@@ -189,7 +189,7 @@ gettingStarted.step2.title = Set up media folders.
gettingStarted.step2.text = Tell Libresonic where you keep your music and videos.
gettingStarted.step3.title = Configure network settings.
gettingStarted.step3.text = Some useful settings if you want to enjoy your music remotely over the Internet, \
- or share it with family and friends. Get your personal yourname.subsonic.org \
+ or share it with family and friends. Get your personal yourname.libresonic.org \
address.
gettingStarted.hide = Don't show this again
gettingStarted.hidealert = To show this screen again, go to Settings > General.
@@ -239,12 +239,12 @@ more.random.year = and year
more.random.anyyear = Any
more.random.folder = in folder
more.random.anyfolder = Any
-more.apps.title = Subsonic Apps
-more.apps.text =
Check out the steadily growing list of Subsonic apps. \
+more.apps.title = Libresonic Apps
+more.apps.text =
Check out the steadily growing list of Libresonic apps. \
These provide fun and alternative ways to enjoy your media collection - no matter where you are. \
Apps are available for Android, iPhone, Windows Phone, BlackBerry, Roku and many more.
Jamstash is an HTML5 player for Subsonic. Click here to start it. \
+more.jamstash.text =
Jamstash is an HTML5 player for Libresonic. Click here to start it. \
Also available as a Chrome App.
more.status.title = Network Status
more.status.text = Monitor the real-time status of all network media streams.
@@ -274,7 +274,7 @@ upload.unzipped = Unzipped {0}
# help.jsp
help.title = About {0}
help.upgrade = Note! A new version is available. Download {0} {1} \
- here.
+ here.
help.premium.title = License
help.premium.expires = (expires {0})
help.premium.upgrade = Upgrade to Subsonic Premium to enjoy lots of extra features!
@@ -283,9 +283,7 @@ help.version.title = Version
help.builddate.title = Build date
help.server.title = Server
help.license.title = Terms of use
-help.license.text = {0} is free software distributed under the GPL open-source license. \
- {0} uses licensed third-party libraries. Please note that {0} is not \
- a tool for illegal distribution of copyrighted material. Always pay attention to and follow the relevant laws specific to your country.
+help.license.text = {0} is free software distributed under the GPL open-source license.
help.homepage.title = Homepage
help.forum.title = Forum
help.shop.title = Merchandise
@@ -343,6 +341,15 @@ advancedsettings.ldapsearchfilter = LDAP search filter
advancedsettings.ldapmanagerdn = LDAP manager DN
(Optional)
advancedsettings.ldapmanagerpassword = Password
advancedsettings.ldapautoshadowing = Automatically create users in {0}
+advancedsettings.smtpPort = SMTP port
+advancedsettings.smtpServer = SMTP server
+advancedsettings.smtpEncryption = SMTP encryption
+advancedsettings.smtpUser = SMTP username
+advancedsettings.smtpPassword = Password
+advancedsettings.smtpEncryption.none = None
+advancedsettings.smtpEncryption.starttls = STARTTLS
+advancedsettings.smtpEncryption.ssl = SSL/TLS
+advancedsettings.smtpFrom = Mail sender
# personalSettings.jsp
personalsettings.title = Personal settings for {0}
@@ -371,6 +378,7 @@ personalsettings.autohideplayqueue = Auto-hide play queue
personalsettings.finalversionnotification = Notify me about new versions
personalsettings.betaversionnotification = Notify me about new beta versions
personalsettings.songnotification = Notify me when new songs are played (not supported by all browsers)
+personalsettings.listreloaddelay = Album list reload delay (in seconds, 0 disables)
personalsettings.lastfmenabled = Register what I'm playing at Last.fm
personalsettings.lastfmusername = Last.fm username
personalsettings.lastfmpassword = Last.fm password
@@ -420,7 +428,7 @@ musicfoldersettings.organizebyfolderstructure.description = Use this option to b
# networkSettings.jsp
networksettings.text = Use the settings below to control how to access your Libresonic server over the Internet. \
- If you experience difficulties, please consult the Getting started guide.
+ If you experience difficulties, please consult the Getting started guide.
networksettings.portforwardingenabled = Automatically configure your router to allow incoming connections to Libresonic (using UPnP or NAT-PMP port forwarding).
networksettings.portforwardinghelp = If your router can''t be configured automatically you can set it up manually. \
Follow the instructions on portforward.com. \
@@ -429,6 +437,8 @@ networksettings.urlredirectionenabled = Access your server over the Internet usi
networksettings.status = Status:
networksettings.normalurl = Use
networksettings.customurl = Use custom URL (advanced)
+networksettings.urlRedirectDisabled = Feature not currently available
+
# transcodingSettings.jsp
transcodingsettings.name = Name
@@ -502,6 +512,7 @@ playersettings.name = Player name
playersettings.maxbitrate = Max bitrate
playersettings.notranscoder = Notice: Transcoders does not appear to be installed. Click Help button for more information.
playersettings.autocontrol = Control player automatically
+playersettings.m3ubom = Apply BOM signature in the generated M3U file
playersettings.dynamicip = Player has dynamic IP address
playersettings.transcodings = Active transcodings
playersettings.ok = Save
@@ -518,7 +529,7 @@ sonossettings.enabled = Enable Sonos music service
sonossettings.description = Use this option to turn on the Sonos music service in Libresonic, \
and stream your media to Sonos devices on your local network. Remember to add Libresonic \
as a music service from your Sonos controller. Visit \
- sonos.subsonic.org for more info. \
+ sonos.libresonic.org for more info. \
For trouble-shooting, please see the log.
sonossettings.servicename = Music service name
sonossettings.servicename.description = The name of the music service as it will appear in the Sonos controller.
@@ -661,20 +672,20 @@ share.facebook = Share on Facebook
share.twitter = Share on Twitter
share.googleplus = Share on Google+
share.link = Or share this with someone by sending them this link: {0}
-share.disabled = To share your music with someone you must first register your own subsonic.org address. \
+share.disabled = To share your music with someone you must first register your own libresonic.org address. \
Please go to Settings > Network (administrative rights required).
share.manage = Manage my shared media
# premium.jsp
premium.title = Subsonic Premium
premium.invalidlicense = Invalid license key.
-premium.text =
Apps for Android, iPhone, Windows Phone, Mac, Chrome and more*.
\
+
Apps for Android, iPhone, Windows Phone, Mac, Chrome and more*.
\
Video streaming.
\
Stream to your Chromecast and Sonos devices.
\
Podcast receiver.
\
-
Your personal server address: yourname.subsonic.org (see Settings > Network).
\
+
Your personal server address: yourname.libresonic.org (see Settings > Network).
\
Play your media on compatible DLNA/UPnP devices.
\
Share your media on Facebook, Twitter, Google+.
\
No ads in the web interface.
\
@@ -688,7 +699,7 @@ premium.licensedexpired = Your Subsonic Premium license expired {0}
premium.licensedto = The license is registered to {0}.
premium.forcechange = Register a different license key
premium.register = When upgrading to Subsonic Premium you receive a license key by email. Please register it below.
-premium.resend = Lost the license key? Send it again.
+premium.resend = Lost the license key? Send it again.
premium.register.email = Email
premium.register.license = License key
@@ -810,6 +821,17 @@ helppopup.autocontrol.text =
With this option selected, {0} will automaticall
in the playlist. Otherwise, you must start and connect the player yourself.
helppopup.dynamicip.title = Dynamic IP address
helppopup.dynamicip.text =
Turn off this option if the player uses a static IP address.
+helppopup.smtpServer.title = SMTP Server
+helppopup.smtpServer.text =
The hostname of the SMTP server. This server will be used to send e-mails to users \
+ who have requested a password reset.
+helppopup.smtpPort.title = SMTP Port
+helppopup.smtpPort.text =
The server's port that should be connected to for SMTP traffic.
The encryption method to be used to connect to the SMTP server. Choose "None" for no encryption.
+helppopup.smtpFrom.title = From address
+helppopup.smtpFrom.text =
The sender address for mails originating from the Libresonic server. Must be a valid e-mail address.
# wap/index.jsp
wap.index.missing = No music found
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_en_GB.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en_GB.properties
similarity index 88%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_en_GB.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en_GB.properties
index 0c259c8a..e0d2ef71 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_en_GB.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_en_GB.properties
@@ -9,7 +9,7 @@ accessDenied.text = Sorry, you are not authorised to perform the requested opera
# help.jsp
help.license.text = {0} is free software distributed under the GPL open-source licence. \
- {0} uses licensed third-party libraries. Please note that {0} is not \
+ {0} uses licensed third-party libraries. Please note that {0} is not \
a tool for illegal distribution of copyrighted material. Always pay attention to and follow the relevant laws specific to your country.
# playerSettings.jsp
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_es.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_es.properties
similarity index 97%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_es.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_es.properties
index bd4055cb..e1e6bf83 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_es.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_es.properties
@@ -38,7 +38,7 @@ top.more = Más
top.help = Ayuda
top.search = Buscar
top.upgrade = Una nueva versión está disponible. Descargar {0} {1} \
- aquí.
+ aquí.
top.missing = No se encuentra ningún directorio de música. Por favor cambie la configuración.
top.logout = Desconectar {0}
@@ -138,7 +138,7 @@ upload.unzipped = Descomprimido {0}
# help.jsp
help.title = Sobre {0}
help.upgrade = ¡Aviso! Una nueva versión esta disponible. Descargue {0} {1} \
- aquí.
+ aquí.
help.version.title = Versión
help.builddate.title = Fecha de creación
help.license.title = Licencia
@@ -149,7 +149,7 @@ help.contact.title = Contacto
help.contact.text = {0} está desarrollado y mantenido por Sindre Mehus \
(sindre@activeobjects.no). \
Si usted tiene alguna pregunta, comentario o sugerencia de mejoras, por favor visite \
- Subsonic Forum.
+ Libresonic Forum.
help.log = Log
help.logfile = El log completo esta guardado en {0}.
@@ -228,7 +228,7 @@ transcodingsettings.info =
(%s = El fichero cuyo formato quere
necesita espacio en disco.
\
El cambio de formato se realiza por medio de programas de linea de comandos de terceros los cuales deben ser instalados en {0}. \
Un pack de windows para el cambio de formato \
- esta disponible aqui. Usted puede añadir su propio programa \
+ esta disponible aqui. Usted puede añadir su propio programa \
si cumple los siguientes requisitos: \
\
Debe tener una interface de linea de comandos.
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_et.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_et.properties
similarity index 96%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_et.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_et.properties
index 3cf4f23d..c9a062e7 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_et.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_et.properties
@@ -70,7 +70,7 @@ top.more = Rohkem
top.help = Info
top.search = Otsi
top.upgrade = Uuem versioon on saadaval. Lae alla {0} {1} \
- siit.
+ siit.
top.missing = Meediakauste ei leitud. Palun muuda seadeid.
top.logout = Logi välja {0}
top.getpremium = Hankige Subsonic Premium
@@ -173,9 +173,9 @@ search.hits.songs = Laulud
gettingStarted.title = Alustamine
gettingStarted.text =
Tere tulemast Libresonicusse! Me viime teid kurssi koheselt, selleks tuleb teil järgida antud põhisamme. \
Siia lehele naasmiseks kliki nuppu "Kodu" kõrvalolevas tööriistaribal.
\
-
Lisainfo saamiseks võtke ühendust Alustamine juhendist.
+
Lisainfo saamiseks võtke ühendust Alustamine juhendist.
gettingStarted.root = Hoiatus! Libresonicu protsess töötab kasutaja "root" volitusega. Kaaluge selle seade \
- muutmist.
+ muutmist.
gettingStarted.step1.title = Muuda administraatori parooli.
gettingStarted.step1.text = Muutke administraatori konto tavaparooli, et server oleks turvatud. \
Saate ka luua uusi kasutajakontosid erinevate juurdepääsudega.
@@ -183,7 +183,7 @@ gettingStarted.step2.title = Seadista meediakaustad.
gettingStarted.step2.text = Anna Libresonicule teada oma muusika ja videote hoiupaigast.
gettingStarted.step3.title = Seadista võrguseadeid.
gettingStarted.step3.text = Kui soovite nautide muusikat Interneti abil või tahate jagada seda koos oma pere ja sõpradega, siis vajalikud seadistused leiate siit, \
- Hangi endale oma sinunimi.subsonic.org \
+ Hangi endale oma sinunimi.libresonic.org \
aadress.
gettingStarted.hide = Ära enam kuva seda
gettingStarted.hidealert = Kui soovite seda teadet hiljem uuesti kuvada, siis leiate selle valiku alt Seaded > Põhiline.
@@ -232,12 +232,12 @@ more.random.year = ja aasta
more.random.anyyear = Suvaline
more.random.folder = kaustas
more.random.anyfolder = Suvaline
-more.apps.title = Subsonicu rakendused
-more.apps.text =
Minge uurige uusi ja ägedaid Subsonicu rakendusi. \
+more.apps.title = Libresonicu rakendused
+more.apps.text =
Minge uurige uusi ja ägedaid Libresonicu rakendusi. \
Need teevad sinu meedia kollektsiooni nautimise lõbusamaks ja pakub alternatiivseid viise selleks - asukohast hoolimata. \
Rakendused on saadavad järgmistele nutitelefonidele: Android, iPhone, Windows Phone, BlackBerry, Roku ja paljud teised.
Sa haldad {0} igalt WAP-toetatud mobiiltelefonilt või PDA kaudu. \
@@ -265,7 +265,7 @@ upload.unzipped = {0} on lahti pakitud
# help.jsp
help.title = Info {0}´i kohta
help.upgrade = Note! Saadaval on uuem versioon. Lae alla {0} {1} \
- siit.
+ siit.
help.premium.title = Litsents
help.premium.expires = (aegub {0})
help.premium.upgrade = Paljude lisavõimaluste nautimiseks hankigeSubsonic Premium!
@@ -275,7 +275,7 @@ help.builddate.title = Valmistamiskuupäev
help.server.title = Server
help.license.title = Kasutajatingimused
help.license.text = {0} on vabavaraline tarkvara levitaja GPL avatud lähtekoodiga lepingu alusel. \
- {0} kasutab litsenseeritud kolmanda osapoole lisasid. Pea meeles, et {0} pole \
+ {0} kasutab litsenseeritud kolmanda osapoole lisasid. Pea meeles, et {0} pole \
võimalus, mille abil rikutakse autoriõigusi. Alati pane tähele ning järgi oma riigile vastavaid põhiseaduseid.
help.homepage.title = Kodulehekülg
help.forum.title = Foorum
@@ -284,7 +284,7 @@ help.contact.title = Võta ühendust
help.contact.text = {0}u arendajaks ja ülalpidajaks on Sindre Mehus \
(sindre@activeobjects.no). \
Kui sul on küsimusi, kommentaare või soovitusi portaali täiustamiseks siis palun külasta \
- Subsonicu foorumit.
+ Libresonicu foorumit.
help.log = Logi
help.logfile = Kokkuvõtlik logi on salvestatud asukohta {0}.
@@ -408,7 +408,7 @@ musicfoldersettings.organizebyfolderstructure.description = Kasuta seda valikut,
# networkSettings.jsp
networksettings.text = Kasuta seda seadet, et hallata ligipääsu Libresonicu serverisse Interneti kaudu. \
- Kui ilmneb raskusi siis tutvuge Sissejuhatuse peatükiga.
+ Kui ilmneb raskusi siis tutvuge Sissejuhatuse peatükiga.
networksettings.portforwardingenabled = Automaatselt seadista oma ruuter, et Libresonicu ühendused oleks alati lubatud (kasutatakse UPnP või NAT-PMP pordi saatmist).
networksettings.portforwardinghelp = Ruuterit on ka võimalik seadistada käsitsi, kui automaatselt ei saa. \
Järgi juhendeid portaalil portforward.com. \
@@ -634,7 +634,7 @@ share.facebook = Jaga Facebookis
share.twitter = Jaga Twitteris
share.googleplus = Jaga Google+-is
share.link = Või saatmiseks kasutage linki: {0}
-share.disabled = Esmalt, et saaksite muusikat jagada kellegagi, peate te registreerima oma subsonic.org aadressi. \
+share.disabled = Esmalt, et saaksite muusikat jagada kellegagi, peate te registreerima oma libresonic.org aadressi. \
Palun mine Seaded > Võrk (administraatori õigus on vajalik).
share.manage = Halda minu jagatud meediat
@@ -643,11 +643,11 @@ premium.title = Subsonic Premium
premium.invalidlicense = Vigage litsentsivõti.
premium.text =
Nende lisavõimaluste nautimiseks peate hankima Subsonic Premiumi:
\
\
-
Rakendused Androidile, iPhoneile ja Windows Phoneile*.
\
-
Rakendused BlackBerryiel, Rokule, Macile, Windowsile, Chrome´le ja paljudele teistele*.
\
+
Rakendused Androidile, iPhoneile ja Windows Phoneile*.
\
+
Rakendused BlackBerryiel, Rokule, Macile, Windowsile, Chrome´le ja paljudele teistele*.
\
Video edastus.
\
Taskupleieri kasutusvõimalus (Podcast).
\
-
Teie personaalse nimega serveriaadress: teienimi.subsonic.org (asub Seaded > Võrk).
\
+
Teie personaalse nimega serveriaadress: teienimi.libresonic.org (asub Seaded > Võrk).
\
Esitage oma meediattoetatud DLNA/UPnP seadmetes.
\
Jagage oma meediat Facebookis, Twitteris, Google+´is.
\
Reklaamivaba interneti kasutajaliides.
\
@@ -661,7 +661,7 @@ premium.licensedexpired = Teie Subsonic Premiumi litsents aegub {0}
premium.licensedto = Litsents on registreeritud aadressile {0}.
premium.forcechange = Registreerige teise litsentsi võtmega
premium.register = Subsonic Premiumi litsentsi võtme leiate oma e-postist. Palun registreerige see kõrvalolevast ankeedist.
-premium.resend = Kaotasite litsentsi võtme? Saatke see uuesti.
+premium.resend = Kaotasite litsentsi võtme? Saatke see uuesti.
premium.register.email = E-spost
premium.register.license = Litsentsi võti
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_fi.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_fi.properties
similarity index 98%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_fi.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_fi.properties
index 8e3508b4..b1e55234 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_fi.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_fi.properties
@@ -45,7 +45,7 @@ top.more = Lis\u00E4\u00E4
top.help = Tuki
top.search = Etsi
top.upgrade = Uusi ohjelmaversio on saatavilla. Lataa {0} {1} \
- t\u00E4st\u00E4.
+ t\u00E4st\u00E4.
top.missing = Musiikkikansioita ei l\u00F6ydy. Tarkista asetukset.
top.logout = Kirjaa ulos {0}
@@ -113,7 +113,7 @@ gettingStarted.step2.title = M\u00E4\u00E4rit\u00E4 musiikkikansioiden sijainti.
gettingStarted.step2.text = M\u00E4\u00E4rit\u00E4 Libresonic-ohjelmalle musiikkikansioiden sijainti.
gettingStarted.step3.title = M\u00E4\u00E4rit\u00E4 verkkoasetukset.
gettingStarted.step3.text = Hy\u00F6dyllisi\u00E4 asetuksia jos haluat kuunnella musiikkia internetin yli. \
- M\u00E4\u00E4rit\u00E4 helposti muistettava yourname.subsonic.org \
+ M\u00E4\u00E4rit\u00E4 helposti muistettava yourname.libresonic.org \
osoite.
gettingStarted.hide = \u00C4l\u00E4 n\u00E4yt\u00E4 t\u00E4t\u00E4 sivua en\u00E4\u00E4.
gettingStarted.hidealert = T\u00E4m\u00E4n sivun saat uudelleen n\u00E4kyviin valitsemalla Asetukset > Yleiset.
@@ -180,13 +180,13 @@ upload.unzipped = Purettu {0}
# help.jsp
help.title = Ohjelma {0}
help.upgrade = Huomio! Uusi ohjelmaversio on saatavilla. Lataa {0} {1} \
- t\u00E4st\u00E4.
+ t\u00E4st\u00E4.
help.version.title = Versio
help.builddate.title = Build date
help.server.title = Serveri
help.license.title = Lisenssi
help.license.text = {0} is free software distributed under the GPL open-source license. \
- {0} uses licensed third-party libraries.
+ {0} uses licensed third-party libraries.
help.homepage.title = Kotisivu
help.forum.title = Foorumi
help.shop.title = Oheistuotteet
@@ -194,7 +194,7 @@ help.contact.title = Yhteystiedot
help.contact.text = {0} ohjelman on kehitt\u00E4nyt ja yll\u00E4pit\u00E4\u00E4 Sindre Mehus \
(sindre@activeobjects.no). \
Jos sinulla on kysytt\u00E4v\u00E4\u00E4, kommentoitavaa tai parannusehdotuksia ohjelmaan, vieraile \
- Subsonic Foorumissa.
+ Libresonic Foorumissa.
help.log = Loki
help.logfile = T\u00E4ydellinen loki on tallennettu {0}.
@@ -320,9 +320,9 @@ transcodingsettings.info =
(%s = Tiedosto, mik\u00E4 muunnetaa
Muuntaminen on prosessi, miss\u00E4 tiedostotyyppi muunnetaan toiseksi tiedostotyypiksi. {1}'ohjelma \
antaa striimata my\u00F6s mediaa, mik\u00E4 normaalisti ei olisi striimattavissa. Muunnos tehd\u00E4\u00E4n lennossa, eik\u00E4 se \
vaadi levytilaa.
\
-
Varsinaisen muunnoksen suorittaa kolmannen osapuolen komentoriviohjelma, mik\u00E4 tulee asentaa kansioon c:|subsonic|transcode. \
+
Varsinaisen muunnoksen suorittaa kolmannen osapuolen komentoriviohjelma, mik\u00E4 tulee asentaa kansioon c:|libresonic|transcode. \
Muunnosohjelma Windowsiin \
- on saatavilla t\u00E4\u00E4lt\u00E4. \
+ on saatavilla t\u00E4\u00E4lt\u00E4. \
Voit k\u00E4ytt\u00E4\u00E4 my\u00F6s jotain muuta ohjelmaa jos se t\u00E4ytt\u00E4\u00E4 seuraavat ehdot: \
\
Siin\u00E4 pit\u00E4\u00E4 olla komentorivik\u00E4ytt\u00F6liittym\u00E4.
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_fr.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_fr.properties
similarity index 96%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_fr.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_fr.properties
index 036f60be..a6c6a386 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_fr.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_fr.properties
@@ -67,7 +67,7 @@ top.more = Plus
top.help = Aide
top.search = Rechercher
top.upgrade = Une nouvelle version est disponible. T\u00E9l\u00E9charger {0} {1} \
- ici.
+ ici.
top.missing = Aucun fichier trouv\u00E9. Veuillez modifier vos param\u00E8tres.
top.logout = Se d\u00E9connecter
@@ -164,7 +164,7 @@ search.hits.songs = Titres
gettingStarted.title = D\u00E9marrage rapide
gettingStarted.text =
Bienvenue sur Libresonic ! Suivez les quelques \u00E9tapes ci-dessous pour commencer \u00E0 l''utiliser. \
Cliquez le bouton "Accueil" dans la barre du haut pour revenir sur cette page.
gettingStarted.step1.title = Changer le mot de passe administrateur.
gettingStarted.step1.text = S\u00E9curisez votre installation en modifiant le mot de passe du compte administrateur. \
Vous pouvez aussi cr\u00E9er de nouveaux comptes utilisateurs avec diff\u00E9rents privil\u00E8ges.
@@ -172,11 +172,11 @@ gettingStarted.step2.title = G\u00E9rer les dossiers de musique.
gettingStarted.step2.text = Libresonic doit savoir dans quel dossier se trouve votre musique.
gettingStarted.step3.title = Configurer les r\u00E9glages r\u00E9seau.
gettingStarted.step3.text = Quelques r\u00E9glages pour acc\u00E9der \u00E0 votre musique depuis Internet, \
- ou la partager avec votre famille ou vos amis. Obtenez votre adresse personnelle votre nom.subsonic.org.
+ ou la partager avec votre famille ou vos amis. Obtenez votre adresse personnelle votre nom.libresonic.org.
gettingStarted.hide = Ne plus montrer cet \u00E9cran
gettingStarted.hidealert = Pour afficher cet \u00E9cran \u00E0 nouveau, allez dans Param\u00E8tres > G\u00E9n\u00E9ral.
-gettingStarted.root = Attention ! Le processus de subsonic a \u00E9t\u00E9 lanc\u00E9 par l''utilisateur root. Nous vous conseillons de \
- modifier ce point.
+gettingStarted.root = Attention ! Le processus de libresonic a \u00E9t\u00E9 lanc\u00E9 par l''utilisateur root. Nous vous conseillons de \
+ modifier ce point.
# home.jsp
home.random.title = Al\u00E9atoire
@@ -219,7 +219,7 @@ more.random.anyyear = Toutes les ann\u00E9es
more.random.folder = et du dossier
more.random.anyfolder = Tous les dossiers
more.apps.title = Applications
-more.apps.text = Des applications Subsonic sont disponibles pour iPhone, \
+more.apps.text = Des applications Libresonic sont disponibles pour iPhone, \
Android et AIR.
more.mobile.title = T\u00E9l\u00E9phone mobile
more.mobile.text =
Vous pouvez controler {0} \u00E0 partir de votre t\u00E9l\u00E9phone mobile. \
@@ -245,13 +245,13 @@ upload.unzipped = D\u00E9compress\u00E9 {0}
# help.jsp
help.title = A propos de {0}
help.upgrade = Note! Une nouvelle version est disponible. T\u00E9l\u00E9charger {0} {1} \
- ici.
+ ici.
help.version.title = Version
help.builddate.title = Date
help.server.title = Serveur
help.license.title = Licence
help.license.text = {0} est un logiciel gratuit distribu\u00E9 sous licence GPL. \
- {0} utilise une biblioth\u00E8que tiers autoris\u00E9e. Veuillez noter qu''il n''est pas \
+ {0} utilise une biblioth\u00E8que tiers autoris\u00E9e. Veuillez noter qu''il n''est pas \
destin\u00E9 \u00E0 partager ill\u00E9galement des oeuvres non-libres de droit. Renseignez-vous sur les lois en vigueur dans votre pays.
help.homepage.title = Page d'accueil
help.forum.title = Forum
@@ -260,7 +260,7 @@ help.contact.title = Contact
help.contact.text = {0} est developp\u00E9 et maintenu par Sindre Mehus \
(sindre@activeobjects.no). \
Si vous avez des questions, commentaires ou suggestions pour l''am\u00E9liorer, visitez le \
- Forum Subsonic.
+ Forum Libresonic.
help.log = Log
help.logfile = L''historique complet est sauvegard\u00E9e dans {0}.
@@ -363,7 +363,7 @@ musicfoldersettings.nopath = Veuillez indiquer un dossier.
# networkSettings.jsp
networksettings.text = Compl\u00E9tez les options ci-dessous afin de d\u00E9finir comment acc\u00E9der \u00E0 votre serveur Libresonic depuis Internet. \
- Si vous rencontrez des probl\u00E8mes, consultez le guide de D\u00E9marrage rapide.
+ Si vous rencontrez des probl\u00E8mes, consultez le guide de D\u00E9marrage rapide.
networksettings.portforwardingenabled = Configurer automatiquement le routeur pour autoriser les connexions entrantes vers Libresonic (transit par port UPnP).
networksettings.portforwardinghelp = Si votre routeur ne peut pas \u00EAtre configur\u00E9 automatiquement, vous pouvez le faire manuellement en suivant \
les instructions de portforward.com. \
@@ -391,7 +391,7 @@ transcodingsettings.info =
(%s = Le fichier \u00E0 encoder, %b
requiert aucun usage du disque dur.
\
L''encodage peut se faire en ligne de commande \u00E0 l''aide d'un programme tiers qui peut \u00EAtre install\u00E9 dans Libresonic. \
Un pack d''encodage pour Windows \
- est disponible ici. Vous pouvez ajouter votre propre encodeur \
+ est disponible ici. Vous pouvez ajouter votre propre encodeur \
s''il remplit les conditions suivantes : \
\
avoir une interface en ligne de commande.
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_is.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_is.properties
similarity index 98%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_is.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_is.properties
index 7cf7afb1..2e035d51 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_is.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_is.properties
@@ -45,7 +45,7 @@ top.more = Meira
top.help = Hj\u00E1lp
top.search = Leita
top.upgrade = N\u00FDrri \u00DAtg\u00E1fa er tilb\u00FAin. S\u00E6kja {0} {1} \
- H\u00E9r.
+ H\u00E9r.
top.missing = Engar T\u00F3nlistarskr\u00E1r Fundust. Vinsamlegast Breyttu Stillingunum.
top.logout = \u00DAtskr\u00E1 {0}
@@ -164,13 +164,13 @@ upload.unzipped = Af\u00FEjappa\u00F0 {0}
# help.jsp
help.title = Um {0}
help.upgrade = A.T.H! N\u00FDrri \u00DAtg\u00E1fa er tilb\u00FAin. S\u00E6kja {0} {1} \
- H\u00E9r.
+ H\u00E9r.
help.version.title = \u00DAtg\u00E1fa
help.builddate.title = Sm\u00ED\u00F0i Dags
help.server.title = \u00DEj\u00F3nn
help.license.title = Leifi
help.license.text = {0} er \u00F3keypis hugb\u00FAna\u00F0i er dreift samkv\u00E6mt GPL open-source license. \
- {0} Nota\u00F0u licensed third-party libraries.
+ {0} Nota\u00F0u licensed third-party libraries.
help.homepage.title = Heimas\u00ED\u00F0a
help.forum.title = Spjallbor\u00F0
help.shop.title = V\u00F6rur
@@ -178,7 +178,7 @@ help.contact.title = Hafa Samband
help.contact.text = {0} er \u00FEr\u00F3a\u00F0 og vi\u00F0haldi\u00F0 af Sindre Mehus \
(sindre@activeobjects.no). \
Ef \u00FE\u00FA hefur einhverjar spurningar, athugasemdir e\u00F0a till\u00F6gur til \u00FArb\u00F3ta, skaltu fara \u00E1 \
- Subsonic Spjallbor\u00F0.
+ Libresonic Spjallbor\u00F0.
help.log = Yfirlit
help.logfile = Tilb\u00FAi\u00F0 Yfirlit er Vista\u00F0 \u00ED {0}.
@@ -293,7 +293,7 @@ transcodingsettings.info =
(%s = Eftirfarandi Skr\u0
\u00FEurfa allir diskur notkun.
\
raunverulegur transcoding er gert vi\u00F0 \u00FEri\u00F0ja a\u00F0ila stj\u00F3rn l\u00EDna forrit ver\u00F0ur a\u00F0 vera uppsett \u00ED {0}. \
transcoding Pakki Fyrir Windows \
- F\u00E6st H\u00E9r. \u00DE\u00FA getur b\u00E6tt eigin s\u00E9rsni\u00F0num transcoder \u00FEinn gefi\u00F0 \u00FEa\u00F0 \
+ F\u00E6st H\u00E9r. \u00DE\u00FA getur b\u00E6tt eigin s\u00E9rsni\u00F0num transcoder \u00FEinn gefi\u00F0 \u00FEa\u00F0 \
fulln\u00E6gja eftirfarandi kr\u00F6fum: \
\
\u00DEa\u00F0 ver\u00F0ur a\u00F0 hafa stj\u00F3rn l\u00EDna tengi.
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_it.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_it.properties
similarity index 96%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_it.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_it.properties
index d141b7e5..e4422460 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_it.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_it.properties
@@ -45,7 +45,7 @@ top.more = Di pi\u00F9
top.help = Aiuto
top.search = Ricerca
top.upgrade = E' disponibile una nuova versione. Scaricala {0} {1} \
- qui.
+ qui.
top.missing = Non \u00E8 stata trovata nessuna cartella contenente musica, verifica le impostazioni.
top.logout = Esci {0}
@@ -111,7 +111,7 @@ search.hits.songs = Canzoni
gettingStarted.title = Comincia ad utilizzare Libresonic
gettingStarted.text =
Benvenuto in Libresonic! La configurazione non ti porter\u00E0 via tempo, baster\u00E0 seguire i semplici passaggi riportati di seguito. \
Premi il bottone "Casa" nella barra degl strumenti qui sopra per tornare a questa schermata.
gettingStarted.step1.title = Cambia la password di amministrazione.
gettingStarted.step1.text = Cambiando la password predefinita dell'utente di amministrazione renderai pi\u00F9 sicuro il tuo server. \
Puoi anche scegliere di creare un altro utente con differenti privilegi di amministrazione.
@@ -119,7 +119,7 @@ gettingStarted.step2.title = Imposta le cartelle della musica.
gettingStarted.step2.text = Di' a Libresonic dove tieni la tua musica.
gettingStarted.step3.title = Configura le imposatzioni di rete.
gettingStarted.step3.text = Qualche utile impostazione ti permetter\u00E0 di apprezzare la tua musica in via remota tramite internet, \
- o di condividerla con la famiglia e gli amici. Ottieni il tuo indirizzo personale tuonome.subsonic.org.
+ o di condividerla con la famiglia e gli amici. Ottieni il tuo indirizzo personale tuonome.libresonic.org.
gettingStarted.hide = Non mostrare questa schermata di nuovo.
gettingStarted.hidealert = Per visualizzare nuovamente la schermata, vai in Impostazioni > Generale.
@@ -160,8 +160,8 @@ more.random.year = e anno
more.random.anyyear = Qualsiasi
more.random.folder = nella cartella
more.random.anyfolder = Qualsiasi
-more.apps.title = Applicazioni Subsonic
-more.apps.text =
Le applicazioni Subsonic sono disponibili per iPhone, \
+more.apps.title = Applicazioni Libresonic
+more.apps.text =
Puoi controllare {0} da qualsiasi telefono cellulare o PDA con WAP abilitato. \
@@ -190,13 +190,13 @@ upload.unzipped = Zip estratto {0}
# help.jsp
help.title = Riguardo {0}
help.upgrade = Attenzione! Una nuova versione \u00E8 disponibile. Scaricala {0} {1} \
- qui.
+ qui.
help.version.title = Versione
help.builddate.title = Data di build
help.server.title = Server
help.license.title = Termini di utilizzo
help.license.text = {0} \u00E8 un software libero distribuito sotto i termini della licenza open source GPL. \
- {0} utilizza librerie autorizzate di terze parti. Per favore ricorda che {0} non \u00E8 \
+ {0} utilizza librerie autorizzate di terze parti. Per favore ricorda che {0} non \u00E8 \
uno strumento per la distribuzione illegale di materiale coperto dal diritto d'autore. Rispetta sempre le disciplina legale pertinente per il tuo Paese.
help.homepage.title = Homepage
help.forum.title = Forum
@@ -205,7 +205,7 @@ help.contact.title = Contatti
help.contact.text = {0} \u00E8 sviluppato e mantenuto da Sindre Mehus \
(sindre@activeobjects.no). \
Se hai domande, commenti o suggerimenti per migliorare il programma, visita il \
- Forum di Subsonic.
+ Forum di Libresonic.
help.log = Log
help.logfile = Il file di log completo \u00E8 salvato in {0}.
@@ -307,7 +307,7 @@ musicfoldersettings.nopath = Specifica una cartella.
# networkSettings.jsp
networksettings.text = Utilizza le impostazioni qui sotto per regolare l'accesso a Libresonic da internet. \
- Se hai problemi, per favore consulta la guida di Introduzione a Libresonic.
+ Se hai problemi, per favore consulta la guida di Introduzione a Libresonic.
networksettings.portforwardingenabled = Configura automaticamente il tuo router per permettere le connessioni in entrata per Libresonic (utilizzando il port forwarding UPnP o NAT-PMP).
networksettings.portforwardinghelp = Se il tuo router non \u00E8 configurabile automaticamente, puoi configurarlo manualmente. \
Segui le istruzioni su portforward.com. \
@@ -334,7 +334,7 @@ transcodingsettings.info =
(%s = File da convertire, %b = Bitr
necessita di alcun utilizzo del disco.
\
Attualmente il transcoding attuale \u00E8 fatto da programmi a linea di comando di terze parti, che, dunque, devono essere installati in {0}. \
Un pacchetto di Transcofing per Windows \
- \u00E8 disponibile qui. Puoi aggiungere i tuoi transcoder personalizzati \
+ \u00E8 disponibile qui. Puoi aggiungere i tuoi transcoder personalizzati \
purch\u00E9 soddisfino i seguenti requisiti: \
Welkom bij Libresonic!. De configuratie van Libresonic is eenvoudig, loop de volgende basisstappen even door. \
Klik op de "Home" knop in de werkbalk hierboven om naar dit scherm terug te keren.
gettingStarted.root = Let op! Het Libresonic proces werkt nu als de root gebruiker. Het wordt aanbevolen om\
- dit te veranderen.
+ dit te veranderen.
gettingStarted.step1.title = Verander administrator wachtwoord.
gettingStarted.step1.text = Beveilig de server door het standaardwachtwoord van het administrator account te wijzigen. \
Tevens kun je hier nieuwe gebruikersaccounts met verschillende rechten aanmaken.
@@ -189,7 +189,7 @@ gettingStarted.step2.title = Stel de mediamappen in.
gettingStarted.step2.text = Vertel Libresonic waar jouw muziek en videos staan.
gettingStarted.step3.title = Configureer netwerk Instellingen.
gettingStarted.step3.text = Enkele nuttige instellingen als je jouw muziek via internet wilt beluisteren, \
- of wilt delen met familie en vrienden. Registreer meteen je persoonlijke jouwname.subsonic.org \
+ of wilt delen met familie en vrienden. Registreer meteen je persoonlijke jouwname.libresonic.org \
adres.
gettingStarted.hide = Dit niet meer laten zien.
gettingStarted.hidealert = Ga naar instellingen > Algemeen, om dit scherm weer te tonen.
@@ -238,8 +238,8 @@ more.random.year = en jaar
more.random.anyyear = Elk
more.random.folder = In map
more.random.anyfolder = Elke
-more.apps.title = Subsonic Apps
-more.apps.text =
Bekijk de gestaag groeiende lijst van Subsonic apps. \
+more.apps.title = Libresonic Apps
+more.apps.text =
Bekijk de gestaag groeiende lijst van Libresonic apps. \
Deze apps bieden alternatieven om te genieten van je media collectie - ongeacht waar je bent. \
Apps zijn beschikbaar voor Android, iPhone, Windows Phone, BlackBerry, Roku en veel meer.
more.mobile.title = Mobiele telefoon
@@ -268,7 +268,7 @@ upload.unzipped = Uitgepakt {0}
# help.jsp
help.title = Over {0}
help.upgrade = Let op! Er is een nieuwe versie beschikbaar. Download {0} {1} \
- hier.
+ hier.
help.premium.title = Licentie
help.premium.expires = (vervalt op {0})
help.premium.upgrade = Upgrade naar Subsonic Premium om extra functies te krijgen!
@@ -278,16 +278,14 @@ help.builddate.title = Compileer datum
help.server.title = Server
help.license.title = Gebruiksvoorwaarden
help.license.text = {0} is vrije software die wordt gedistribueerd onder de GPL open-source licentie. \
- {0} maakt gebruik van gelicenseerde bibliotheken van derden. {0} is geen \
+ {0} maakt gebruik van gelicenseerde bibliotheken van derden. {0} is geen \
middel voor de illegale distributie van auteursrechtelijk beschermd materiaal. Hou rekening met de geldende wetten en bepalingen in jouw land!
help.homepage.title = Website
help.forum.title = Forum
help.shop.title = Merchandise
help.contact.title = Contact
-help.contact.text = {0} is ontwikkeld en wordt onderhouden door Sindre Mehus \
- (sindre@activeobjects.no). \
- Als je vragen, commentaar of suggesties hebt voor verbetering bezoek dan \
- Subsonic Forum.
+help.contact.text = Libresonic is een gemeenschapsproject. Als je vragen, commentaar of suggesties hebt voor verbetering bezoek dan \
+ #libresonic op Freenode of Libresonic op Reddit.
help.log = Log
help.logfile = Het volledige logbestand is opgeslagen in {0}.
@@ -339,6 +337,13 @@ advancedsettings.ldapsearchfilter = LDAP zoekfilter
advancedsettings.ldapmanagerdn = LDAP manager DN
(Optioneel)
advancedsettings.ldapmanagerpassword = Wachtwoord
advancedsettings.ldapautoshadowing = Maak automatisch gebruikers aan in {0}
+advancedsettings.smtpPort = SMTP poort
+advancedsettings.smtpServer = SMTP server
+advancedsettings.smtpEncryption = SMTP versleutelingsmethode
+advancedsettings.smtpUser = SMTP gebruikersnaam
+advancedsettings.smtpPassword = Wachtwoord
+advancedsettings.smtpEncryption.none = Geen
+advancedsettings.smtpFrom = Afzender
# personalsettings.jsp
personalsettings.title = Persoonlijke instellingen voor {0}
@@ -410,7 +415,7 @@ musicfoldersettings.organizebyfolderstructure.description = Gebruik deze optie o
# networkSettings.jsp
networksettings.text = Gebruik de instellingen hieronder om te bepalen hoe jouw Libresonic-server over het Internet bereikbaar is . \
- Als er problemen zijn, raadpleeg dan de Beginnersgids.
+ Als er problemen zijn, raadpleeg dan de Beginnersgids.
networksettings.portforwardingenabled = Configureer automatisch je router om inkomende verbindingen naar Libresonic toe te staan. (UPnP of NAT-PMP poort forwarding).
networksettings.portforwardinghelp = Als jouw router niet automatisch kan worden geconfigureerd, kun je dit handmatig instellen. \
Volg de instructies op portforward.com. \
@@ -633,7 +638,7 @@ share.facebook = Deel op Facebook
share.twitter = Deel op Twitter
share.googleplus = Deel op Google+
share.link = of deel dit door iemand de volgende link te sturen: {0}
-share.disabled = Om jouw muziek te kunnen delen moet je eerst je eigen subsonic.org adres registreren. \
+share.disabled = Om jouw muziek te kunnen delen moet je eerst je eigen libresonic.org adres registreren. \
Ga naar Instellingen > Netwerk (Administrator rechten vereist!).
share.manage = Beheer gedeelde media.
@@ -642,11 +647,11 @@ premium.title = Subsonic Premium
premium.invalidlicense = Ongeldige licentie sleutel.
premium.text =
Upgrade naar Subsonic Premium om van deze extra functies te kunnen genieten:
\
@@ -659,7 +664,7 @@ premium.licensedexpired = Jouw Subsonic Premium licentie is vervallen op {0}
premium.licensedto = Deze licentie is geregistreerd voor {0}.
premium.forcechange = Registreer met een andere licentie sleutel
premium.register = Als je upgrade naar Subsonic Premium zul je per email een licentie sleutel ontvangen. Voer de licentiesleutel hier in:
-premium.resend = Licentiesleutel verloren? Stuur mij de sleutel opnieuw..
+premium.resend = Licentiesleutel verloren? Stuur mij de sleutel opnieuw..
premium.register.email = Email
premium.register.license = Licentie sleutel
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_nn.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nn.properties
similarity index 98%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_nn.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nn.properties
index 3c1ee216..1163cc55 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_nn.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_nn.properties
@@ -46,7 +46,7 @@ top.more = Meir
top.help = Om
top.search = S\u00F8k
top.upgrade = Det finst ei oppdatert utg\u00E5ve. Last ned {0} {1} \
- her.
+ her.
top.missing = Fann ingen musikk-mapper. Endra innstillingane.
top.logout = Logg ut {0}
@@ -166,7 +166,7 @@ upload.unzipped = Pakka ut {0}
# help.jsp
help.title = Om {0}
help.upgrade = NB! Det finst ei oppdatert utg\u00E5ve. Last ned {0} {1} \
- her.
+ her.
help.version.title = Versjon
help.builddate.title = Byggedato
help.server.title = Tenar
@@ -178,7 +178,7 @@ help.shop.title = Butikk
help.contact.title = Kontakt
help.contact.text = {0} er utvikla og vedlikehalde av Sindre Mehus \
(sindre@activeobjects.no). \
- G\u00E5 til Subsonic-forumet viss du har sp\u00F8rsm\u00E5l, \
+ G\u00E5 til Libresonic-forumet viss du har sp\u00F8rsm\u00E5l, \
kommentarar eller forslag til forbetringar.
help.log = Logg
help.logfile = Heile loggen finst i {0}.
@@ -295,7 +295,7 @@ transcodingsettings.info =
(%s = fila som skal konverterast, %
Konverteringa skjer p\u00E5 direkten etter behov, og krev ikkje bruk av disk.
\
Den faktiske konverteringa vert utf\u00F8rt av kommandolinja til tredjepart-program som m\u00E5 installerast i {0}. \
Ei samling av konverterarar for Windows \
- kan du lasta ned her. Du kan leggja til ein eigen \
+ kan du lasta ned her. Du kan leggja til ein eigen \
konverterar viss han tilfredsstiller f\u00F8lgjande krav: \
\
Han m\u00E5 ha eit kommandolinje-grensesnitt.
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_no.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_no.properties
similarity index 98%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_no.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_no.properties
index b459ff14..28903c62 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_no.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_no.properties
@@ -46,7 +46,7 @@ top.more = Mer
top.help = Om
top.search = S\u00F8k
top.upgrade = Det finnes en oppdatert versjon. Last ned {0} {1} \
- her.
+ her.
top.missing = Fant ingen musikk-mapper. Endre innstillingene.
top.logout = Logg ut {0}
@@ -166,7 +166,7 @@ upload.unzipped = Pakket ut {0}
# help.jsp
help.title = Om {0}
help.upgrade = NB! Det finnes en oppdatert versjon. Last ned {0} {1} \
- her.
+ her.
help.version.title = Versjon
help.builddate.title = Byggedato
help.server.title = Server
@@ -178,7 +178,7 @@ help.shop.title = Butikk
help.contact.title = Kontakt
help.contact.text = {0} er utviklet og vedlikeholdt av Sindre Mehus \
(sindre@activeobjects.no). \
- Bes\u00F8k Subsonic Forum hvis du har sp\u00F8rsm\u00E5l, \
+ Bes\u00F8k Libresonic Forum hvis du har sp\u00F8rsm\u00E5l, \
kommentarer eller forslag til forbedringer.
help.log = Logg
help.logfile = Hele loggen finnes i {0}.
@@ -295,7 +295,7 @@ transcodingsettings.info =
(%s = Fila som skal konverteres, %b
Konverteringen skjer p\u00E5 direkten etter behov, og krever ikke bruk av disk.
\
Den faktiske konverteringen utf\u00F8res av tredjeparts kommandolinje-program som m\u00E5 installeres i {0}. \
En samling av konvertere for Windows \
- kan lastes ned her. Du kan legge til en egen \
+ kan lastes ned her. Du kan legge til en egen \
konverterer hvis den tilfredsstiller f\u00F8lgende krav: \
\
Den m\u00E5 ha et kommandolinje-grensesnitt.
\
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_pl.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_pl.properties
similarity index 97%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_pl.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_pl.properties
index 6bc842e4..b7fd232f 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_pl.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_pl.properties
@@ -46,7 +46,7 @@ top.more = Wi\u0119cej
top.help = Pomoc
top.search = Szukaj
top.upgrade = Dost\u0119pna jest nowa wersja. Pobierz {0} {1} \
- tutaj.
+ tutaj.
top.missing = Brak folder\u00F3w medi\u00F3w. Prosz\u0119 zmieni\u0107 ustawienia.
top.logout = Wyloguj {0}
@@ -116,7 +116,7 @@ search.hits.songs = Utwory
gettingStarted.title = Pierwsze kroki
gettingStarted.text =
Witamy w Libresonic! Konfiguracja zajmie tylko chwil\u0119, wystarczy wykona\u0107 poni\u017Csze czynno\u015Bci. \
Kliknij przycisk "G\u0142\u00F3wna" na pasku narz\u0119dzi powy\u017Cej, aby wr\u00F3ci\u0107 do tego ekranu.
gettingStarted.step1.title = Zmie\u0144 has\u0142o administratora.
gettingStarted.step1.text = Zabezpiecz sw\u00F3j serwer zmieniaj\u0105c domyslne has\u0142o administratora. \
Mo\u017Cesz tak\u017Ce stworzy\u0107 nowe konta u\u017Cytkownik\u00F3w oraz okre\u015Bli\u0107 uprawnienia.
@@ -124,7 +124,7 @@ gettingStarted.step2.title = Ustaw foldery medi\u00F3w.
gettingStarted.step2.text = Okre\u015Bl lokalizacje plikow muzycznych i film\u00F3w
gettingStarted.step3.title = Skonfiguruj sie\u0107.
gettingStarted.step3.text = Kilka przydatnych opcji pozwalaj\u0105cych s\u0142ucha\u0107 muzyki zdalnie przez Internet, \
- lub podzieli\u0107 si\u0119 ni\u0105 z rodzin\u0105 i przyjaci\u00F3\u0142mi. Stw\u00F3rz w\u0142asny adres twojadres.subsonic.org
+ lub podzieli\u0107 si\u0119 ni\u0105 z rodzin\u0105 i przyjaci\u00F3\u0142mi. Stw\u00F3rz w\u0142asny adres twojadres.libresonic.org
gettingStarted.hide = Nie pakazuj ponownie
gettingStarted.hidealert = Aby pokaza\u0107 ten ekran ponownie, przejd\u017A do Ustawienia > Og\u00F3lne.
@@ -165,8 +165,8 @@ more.random.year = z roku
more.random.anyyear = Dowolny
more.random.folder = w folderze
more.random.anyfolder = Dowolny
-more.apps.title = Subsonic Apps
-more.apps.text =
Aplikacje Subsonic s\u0105 dost\u0119pna dla systemu Android, iPhone, \
+more.apps.title = Libresonic Apps
+more.apps.text =
Aplikacje Libresonic s\u0105 dost\u0119pna dla systemu Android, iPhone, \
Windows Phone oraz AIR.
more.mobile.title = Telefon kom\u00F3rkowy
more.mobile.text =
Mo\u017Cesz kontrolowa\u0107 {0} przy pomocy dowolnego telefonu lub PDA wyposa\u017Conego w WAP. \
@@ -194,13 +194,13 @@ upload.unzipped = Rozpakowano {0}
# help.jsp
help.title = O {0}
help.upgrade = Uwaga! Dost\u0119pna jest nowa wersja. Pobierz {0} {1} \
- tutaj.
+ tutaj.
help.version.title = Wersja
help.builddate.title = Data wydania
help.server.title = Serwer
help.license.title = Licencja
help.license.text = {0} jest darmowym oprogramowaniem rozpowszechnianym na licencji typu open-source - GPL. \
- {0} wykorzystuje licencjonowane biblioteki zewn\u0119trznych dostawc\u00F3w.
+ {0} wykorzystuje licencjonowane biblioteki zewn\u0119trznych dostawc\u00F3w.
help.homepage.title = Strona domowa
help.forum.title = Forum
@@ -209,7 +209,7 @@ help.contact.title = Kontakt
help.contact.text = {0} jest rozwijany i utrzymywany przez Sindre Mehus \
(sindre@activeobjects.no). \
Je\u015Bli masz pytania, uwagi lub sugestie, zapraszam na \
- forum Subsonic.
+ forum Libresonic.
help.log = Log
help.logfile = Pe\u0142ny log mo\u017Cna odnale\u017A\u0107 w {0}.
@@ -312,7 +312,7 @@ musicfoldersettings.nopath = Prosz\u0119 okre\u015Bli\u0107 folder.
# networkSettings.jsp
networksettings.text = U\u017Cyj poni\u017Cszych ustawie\u0144, aby kontrolowa\u0107 jak server Libresonic jest dost\u0119pne poprzez Internet. \
- Je\u015Bli masz problemy, zajrzyj do Instrukcji Obs\u0142ugi.
+ Je\u015Bli masz problemy, zajrzyj do Instrukcji Obs\u0142ugi.
networksettings.portforwardingenabled = Skonfiguruj router automatyczne, aby zezwoli\u0107 na po\u0142\u0105czenia przychodz\u0105ce do Libresonic (przekazywanie port\u00F3w UPnP lub NAT-PMP).
networksettings.portforwardinghelp = Je\u015Bli router nie mo\u017Ce zostac skonfigurowanie automatycznie, mo\u017Cna ustawi\u0107 go r\u0119cznie. \
Post\u0119puj zgodnie z instrukcj\u0105 na portforward.com. \
@@ -340,7 +340,7 @@ transcodingsettings.info =
(%s = Plik kt\u00F3ry b\u0119dzie t
dodatkowej przestrzeni dyskowej.
\
Obecnie transkodowanie realizowane jest z wykorzystaniem program\u00F3w lini polece\u0144 dostawc\u00F3w zewn\u0119trznych. Programy te musz\u0105 by\u0107 zainstalowane w {0}. \
Pakiet transkoder\u00F3w dla Windows \
- jest dost\u0119pny tutaj. Mo\u017Cesz tak\u017Ce doda\u0107 w\u0142asny transkoder, pod warunkiem i\u017C \
+ jest dost\u0119pny tutaj. Mo\u017Cesz tak\u017Ce doda\u0107 w\u0142asny transkoder, pod warunkiem i\u017C \
spe\u0142nia on warunki: \
\
Posiada interfejs lini polece\u0144
\
@@ -527,7 +527,7 @@ share.warning =
WA\u017BNA UWAGA!
Graj fair - Nie udost\u0119pniaj ma
share.facebook = Udost\u0119pnij na Facebooku
share.twitter = Udost\u0119pnij na Twitterze
share.link = Lub Udost\u0119pnij komu\u015B, wysy\u0142aj\u0105c link: {0}
-share.disabled = Aby wsp\u00F3\u0142dzieli\u0107 muzyke z innymi u\u017Cytkownikami, musisz najpierw zarejestrowa\u0107 sw\u00F3j adres subsonic.org. \
+share.disabled = Aby wsp\u00F3\u0142dzieli\u0107 muzyke z innymi u\u017Cytkownikami, musisz najpierw zarejestrowa\u0107 sw\u00F3j adres libresonic.org. \
Przejd\u017A do Ustawienia > Sie\u0107 (administrative rights required).
share.manage = Zarz\u0105dzaj udost\u0119pnionymi pliki
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_pt.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_pt.properties
similarity index 96%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_pt.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_pt.properties
index f1ee2ea4..d7ec3038 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_pt.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_pt.properties
@@ -45,7 +45,7 @@ top.more = Mais
top.help = Acerca
top.search = Pesquisar
top.upgrade = Uma nova vers\u00E3o est\u00E1 dispon\u00EDvel. Descarregar {0} {1} \
- aqui.
+ aqui.
top.missing = N\u00E3o se encontra nenhuma pasta. Por favor mude as configura\u00E7\u00F5es.
top.logout = Terminar sess\u00E3o {0}
@@ -111,7 +111,7 @@ search.hits.songs = M\u00FAsicas
gettingStarted.title = Primeiros passos
gettingStarted.text =
Bem-vindo ao Libresonic! Vamos prepar\u00E1-lo num instante, basta seguir os seguintes passos b\u00E1sicos. \
Clicar no bot\u00E3o "In\u00EDcio" na barra acima para voltar a este ecran.
\
-
Para mais informa\u00E7\u00F5es, por favor consulte oGuia Primeiros passos.
+
Para mais informa\u00E7\u00F5es, por favor consulte oGuia Primeiros passos.
gettingStarted.step1.title = Mudar senha do administrador.
gettingStarted.step1.text = Proteja o seu servidor, alterando a senha padr\u00E3o para a conta de administrador. \
Pode criar novas contas de utilizador com privil\u00E9gios diferentes.
@@ -119,7 +119,7 @@ gettingStarted.step2.title = Criar pastas de m\u00FAsica.
gettingStarted.step2.text = Mostrar ao Libresonic onde tem a sua m\u00FAsica.
gettingStarted.step3.title = Configura\u00E7\u00F5es de rede.
gettingStarted.step3.text = Algumas defini\u00E7\u00F5es \u00FAteis se voc\u00EA quiser desfrutar da sua m\u00FAsica remotamente atrav\u00E9s da Internet, \
- ou compartilh\u00E1-la com a fam\u00EDlia e amigos. Obtenha o seu endere\u00E7o com nome deutilizador.subsonic.org.
+ ou compartilh\u00E1-la com a fam\u00EDlia e amigos. Obtenha o seu endere\u00E7o com nome deutilizador.libresonic.org.
gettingStarted.hide = N\u00E3o mostrar mais
gettingStarted.hidealert = Para mostar este ecran outra vez, v\u00E1 a Configura\u00E7\u00F5es > Geral.
@@ -159,8 +159,8 @@ more.random.year = e ano
more.random.anyyear = Qualquer
more.random.folder = na pasta
more.random.anyfolder = Qualquer
-more.apps.title = Aplica\u00E7\u00F5es Subsonic
-more.apps.text =
Pode controlar o {0} com qualquer telem\u00F3vel que tenha WAP activado ou num PDA. \
@@ -189,13 +189,13 @@ upload.unzipped = Descomprimido {0}
# help.jsp
help.title = Acerca {0}
help.upgrade = Aviso! Est\u00E1 dispon\u00EDvel uma nova vers\u00E3o. Descarregar {0} {1} \
- aqui.
+ aqui.
help.version.title = Vers\u00E3o
help.builddate.title = Data de compila\u00E7\u00E3o
help.server.title = Servidor
help.license.title = Licen\u00E7a
help.license.text = O {0} \u00E9 um software livre distribuido sobre a licen\u00E7a GPL de c\u00F3digo aberto. \
- O {0} usa uma licen\u00E7a de bibliotecas de terceiros. Tome nota que o {0} n\u00E3o \u00E9 \
+ O {0} usa uma licen\u00E7a de bibliotecas de terceiros. Tome nota que o {0} n\u00E3o \u00E9 \
uma ferramenta para a distribui\u00E7\u00E3o ilegal de material protegido por direitos de autor. Preste sempre aten\u00E7\u00E3o e siga as leis espec\u00EDficas para o seu pa\u00EDs.
help.homepage.title = P\u00E1gina do projecto
help.forum.title = Forum
@@ -204,7 +204,7 @@ help.contact.title = Contacto
help.contact.text = O {0} \u00E9 desenvolvido e mantido por Sindre Mehus \
(sindre@activeobjects.no). \
Se tiver quaisquer perguntas, coment\u00E1rios ou sugest\u00F5es para melhorias, por favor visite o Forum do\
- Subsonic .
+ Libresonic .
help.log = Log
help.logfile = O log completo est\u00E1 guardado em {0}.
@@ -306,7 +306,7 @@ musicfoldersettings.nopath = Por favor especifique a pasta.
# networkSettings.jsp
networksettings.text = Use as configura\u00E7\u00F5es abaixo para controlar a forma de aceder ao servidor do Libresonic atrav\u00E9s da Internet . \
- Se tiver problemas, consulte o guia dos primeiros passos. (em ingl\u00EAs)
+ Se tiver problemas, consulte o guia dos primeiros passos. (em ingl\u00EAs)
networksettings.portforwardingenabled = Configurar autom\u00E1ticamente o seu router para permitir liga\u00E7\u00F5es de entrada para o Libresonic (usando UPnP ou o encaminhamento de porta NAT-PMP).
networksettings.portforwardinghelp = Se o seu router n\u00E3o puder ser configurado autom\u00E1ticamente, pode configur\u00E1-lo manualmente. \
Siga as instru\u00E7\u00F5es em portforward.com. \
@@ -333,7 +333,7 @@ transcodingsettings.info =
(%s = O ficheiro a ser transcodific
requer o uso do disco.
\
A transcodifica\u00E7\u00E3o \u00E9 feita por programas de terceiros que devem ser instalados em {0}. \
Um pacote de transcodifica\u00E7\u00E3o para o Windows \
- est\u00E1 dispon\u00EDvel aqui. Pode adicionar o seu pr\u00F3prio transcodificador, desde que \
+ est\u00E1 dispon\u00EDvel aqui. Pode adicionar o seu pr\u00F3prio transcodificador, desde que \
preencha os seguintes requisitos: \
gettingStarted.root = Pozor! Program Libresonic se izvaja kot root uporabnik. Prosimo premislite, \u010De \u017Eelite \
- to spremeniti.
+ to spremeniti.
gettingStarted.step1.title = Sprememba administratorskega gesla.
gettingStarted.step1.text = Zavarujte va\u0161 stre\u017Enik tako, da spremenite privzeto administratorsko geslo. \
Ustvarite lahko tudi nove uporabni\u0161ke ra\u010Dune z razli\u010Dnimi pravicami.
@@ -172,7 +172,7 @@ gettingStarted.step2.title = Dolo\u010Dite imenike z glasbo.
gettingStarted.step2.text = Povejte Libresonicu, kje hranite va\u0161e glasbene datoteke.
gettingStarted.step3.title = Nastavi omre\u017Ene nastavitve.
gettingStarted.step3.text = Nekaj uporabnih nastavitev, \u010De \u017Eelite poslu\u0161ati va\u0161o glasbo preko spleta, \
- oz. jo deliti z dru\u017Eino in/ali prijatelji. Priskrbite si svoj osebni va\u0161e_ime.subsonic.org \
+ oz. jo deliti z dru\u017Eino in/ali prijatelji. Priskrbite si svoj osebni va\u0161e_ime.libresonic.org \
spletni naslov.
gettingStarted.hide = Ne prikazuj ve\u010D teh navodil.
gettingStarted.hidealert = \u010Ce \u017Eelite ponovno prebrati ta navodila, poglejte v Nastavitve > Splo\u0161no.
@@ -217,8 +217,8 @@ more.random.year = leto
more.random.anyyear = katerokoli
more.random.folder = imenik
more.random.anyfolder = katerikoli
-more.apps.title = Subsonic aplikacije
-more.apps.text =
Preverite vedno ve\u010Dji seznam Subsonic aplikacij. \
+more.apps.title = Libresonic aplikacije
+more.apps.text =
Preverite vedno ve\u010Dji seznam Libresonic aplikacij. \
Te aplikacije vam omogo\u010Dajo nove in bolj zabavne na\u010Dine dostopa do va\u0161e medijske zbirke \u2013 ne glede na to kje se nahajate. \
Aplikacije so na voljo za Android, iPhone, Windows Phone, BlackBerry, Roku in mnoge druge naprave.
more.mobile.title = Mobilni telefon
@@ -247,13 +247,13 @@ upload.unzipped = Razpakirano: {0}
# help.jsp
help.title = O programu {0}
help.upgrade = Pozor! Na vojo je nova razli\u010Dica. Prenesite {0} {1} \
- tukaj.
+ tukaj.
help.version.title = Razli\u010Dica
help.builddate.title = Izdelana dne
help.server.title = Stre\u017Enik
help.license.title = Licenca
help.license.text = {0} je zastonj program na voljo pod GPL odprtokodno licenco. \
- {0} uporablja licencirane knji\u017Eice tretjih oseb. {0} ni \
+ {0} uporablja licencirane knji\u017Eice tretjih oseb. {0} ni \
namenjen razpe\u010Devanju ilegalnega in piratskega materiala. Vedno upo\u0161tevajte zakone, ki veljajo v va\u0161i dr\u017Eavi.
help.homepage.title = Spletna stran
help.forum.title = Forum
@@ -262,7 +262,7 @@ help.contact.title = Kontakt
help.contact.text = {0} je razvil in vzdr\u017Euje Sindre Mehus \
(sindre@activeobjects.no). \
\u010Ce imate vpra\u0161anja, pripombe ali predloge za izbolj\u0161ave, obi\u0161\u010Dite \
- Subsonicov forum.
+ Libresonicov forum.
help.log = Dnevnik
help.logfile = Celotna datoteka z dnevnikom je shranjena v {0}.
@@ -380,7 +380,7 @@ musicfoldersettings.organizebyfolderstructure.description = Uporabite to mo\u017
# networkSettings.jsp
networksettings.text = Uporabi spodnje nastavitve za nadzor dostopa do va\u0161ega Libresonic stre\u017Enika na Internetu. \
- \u010Ce naletite na te\u017Eave, si prosimo oglejte Uvod k programu.
+ \u010Ce naletite na te\u017Eave, si prosimo oglejte Uvod k programu.
networksettings.portforwardingenabled = Samodejno nastavi usmerjevalnik, da omogo\u010Di povezavo do Libresonic stre\u017Enika (z uporabo UPnP ali NAT-PMP posredovanja vrat).
networksettings.portforwardinghelp = \u010Ce va\u0161ega usmerjevalnika ni mo\u010D samodejno nastaviti, ga lahko nastavite ro\u010Dno. \
Sledite navodilom na portforward.com. \
@@ -595,7 +595,7 @@ share.facebook = Daj v skupno uporabo na Facebook
share.twitter = Daj v skupno uporaba na Twitter
share.googleplus = Daj v skupno uporaba na Google+
share.link = Ali pa dajte datoteko v skupno uporabo tako, da jim po\u0161ljete to povezavo: {0}
-share.disabled = \u010Ce \u017Eelite deliti va\u0161o glasbo z drugimi, si morate najprej ustvariti svoj subsonic.org naslov. \
+share.disabled = \u010Ce \u017Eelite deliti va\u0161o glasbo z drugimi, si morate najprej ustvariti svoj libresonic.org naslov. \
To lahko storite pod Nastavitve > Omre\u017Eje (potrebovali boste administratorske pravice).
share.manage = Upravljanje z vsebinami v skupni uporabi
diff --git a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_sv.properties b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_sv.properties
similarity index 93%
rename from subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_sv.properties
rename to libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_sv.properties
index c7f9874d..13976c99 100644
--- a/subsonic-main/src/main/resources/net/sourceforge/subsonic/i18n/ResourceBundle_sv.properties
+++ b/libresonic-main/src/main/resources/org/libresonic/player/i18n/ResourceBundle_sv.properties
@@ -44,8 +44,8 @@ top.podcast = Podcast
top.more = Mer
top.help = Hj\u00E4lp
top.search = S\u00F6k
-top.upgrade = En ny verson \u00E4r tillg\u00E4nglig. Ladda ner Subsonic {0} \
- h\u00E4r.
+top.upgrade = En ny verson \u00E4r tillg\u00E4nglig. Ladda ner Libresonic {0} \
+ h\u00E4r.
top.missing = Ingen musikmapp \u00E4r funnen. V\u00E4nligen \u00E4ndra inst\u00E4llningar.
top.logout = Logga ut {0}
@@ -115,7 +115,7 @@ search.hits.songs = L\u00E5tar
gettingStarted.title = Kom ig\u00E5ng
gettingStarted.text =
V\u00E4lkommen till Libresonic! F\u00F6r att komma ig\u00E5ng p\u00E5 nolltid, f\u00F6lj bara stegen nedan. \
Klicka p\u00E5 "Hem"-knappen ovan f\u00F6r att \u00E5ter komma till denna sida.
gettingStarted.step1.title = \u00C4ndra administrationsl\u00F6senordet.
gettingStarted.step1.text = S\u00E4kra din server genom att \u00E4ndra standardl\u00F6senordet till kontot f\u00F6r administration. \
Du kan ocks\u00E5 l\u00E4gga till anv\u00E4ndare med olika privilegier.
@@ -123,7 +123,7 @@ gettingStarted.step2.title = S\u00E4tt upp mediamappar.
gettingStarted.step2.text = Tala om f\u00F6r Libresonic s\u00F6kv\u00E4gen till din musik och dina videos.
gettingStarted.step3.title = Konfigurera inst\u00E4llningarna f\u00F6r n\u00E4tverket.
gettingStarted.step3.text = Anv\u00E4ndbara inst\u00E4llningar om du vill f\u00E5 tillg\u00E5ng till din musik \u00F6ver Internet, \
- eller dela den med familj och v\u00E4nner. Skapa din personliga dittnamn.subsonic.org \
+ eller dela den med familj och v\u00E4nner. Skapa din personliga dittnamn.libresonic.org \
adress.
gettingStarted.hide = Visa inte detta igen
gettingStarted.hidealert = F\u00F6r att visa denn info igen, g\u00E5 till Inst\u00E4llningar > Allm\u00E4nt.
@@ -164,11 +164,11 @@ more.random.year = och \u00E5r
more.random.anyyear = alla
more.random.folder = i mapp
more.random.anyfolder = vilken som helst
-more.apps.title = Subsonic Apps
-more.apps.text =
Libresonic apps finns tillg\u00E4nglig f\u00F6r Android, iPhone, \
Windows Phone och AIR.
more.mobile.title = Mobil
-more.mobile.text =
Du kan kontrollera Subsonic fr\u00E5n en WAP mobil eller PDA. \
+more.mobile.text =
Du kan kontrollera Libresonic fr\u00E5n en WAP mobil eller PDA. \
Surfa bara till denna URL fr\u00E5n mobilen: http://yourhostname/wap
\
Det h\u00E4r kr\u00E4ver att din server kan n\u00E5s fr\u00E5n internet.
more.podcast.title = Podcast
@@ -191,24 +191,24 @@ upload.failed = Uppladdning misslyckades med f\u00F6ljande error meddelande:
upload.unzipped = Uppackade: {0}
# help.jsp
-help.title = Om Subsonic
-help.upgrade = Note! En ny version \u00E4r tillg\u00E4nglig. Ladda ner Subsonic {0} \
- h\u00E4r.
+help.title = Om Libresonic
+help.upgrade = Note! En ny version \u00E4r tillg\u00E4nglig. Ladda ner Libresonic {0} \
+ h\u00E4r.
help.version.title = Version
help.builddate.title = Kompilerad
help.server.title = Server
help.license.title = Licens
help.license.text = {0} \u00E4r gratis distribuerad under GPL open-source licens. \
- {0} anv\u00E4nder licensierad 3:e partsprogram. V\u00E4nligen notera att {0} \u00E4r inte \
+ {0} anv\u00E4nder licensierad 3:e partsprogram. V\u00E4nligen notera att {0} \u00E4r inte \
ett verktyg f\u00F6r illegal distribution av copyrightskyddat material. Var alltid uppm\u00E4rksam p\u00E5 att f\u00F6lja de relevanta lagar som \u00E4r specifika f\u00F6r ditt land.
help.homepage.title = Hemsida
help.forum.title = Forum
help.shop.title = Handelsvaror
help.contact.title = Kontakt
-help.contact.text = Subsonic \u00E4r utvecklat och underh\u00E5llet av Sindre Mehus \
+help.contact.text = Libresonic \u00E4r utvecklat och underh\u00E5llet av Sindre Mehus \
(sindre_mehus@users.sourceforge.net). \
Om du har fr\u00E5gor, kommentarer eller f\u00F6rslag p\u00E5 f\u00F6rb\u00E4ttringar, V\u00E4nligen bes\u00F6k \
- Subsonics Forum.
+ Libresonics Forum.
help.log = Logg
help.logfile = Den kompletta loggen \u00E4r sparad i {0}.
@@ -311,7 +311,7 @@ musicfoldersettings.nopath = V\u00E4nligen specificera en s\u00F6kv\u00E4g.
# networkSettings.jsp
networksettings.text = Anv\u00E4nd inst\u00E4llningarna nedan f\u00F6r att f\u00E5 tillg\u00E5ng till Libresonicserver via internet. \
- Om du f\u00E5r problem, v\u00E4nligen konsultera Att komma ig\u00E5ng guiden.
+ Om du f\u00E5r problem, v\u00E4nligen konsultera Att komma ig\u00E5ng guiden.
networksettings.portforwardingenabled = Automatiskt konfigurera din router f\u00F6r godk\u00E4nnande av inkommande anslutningar till Libresonic (via UPnP eller NAT-PMP port forwarding).
networksettings.portforwardinghelp = Om din router inte kan bli konfigurerad automatiskt kan du s\u00E4tta upp den manuellt. \
F\u00F6lj instruktionerna p\u00E5 portforward.com. \
@@ -339,7 +339,7 @@ transcodingsettings.info =
(%s = Filen som ska bli transkodad,
kr\u00E4ver inget diskutrymme.
\
Den aktiva transkodningen sker av tredje parts kommadorads program som m\u00E5ste vara installerade i {0}. \
Ett transkodnings paket f\u00F6r Windows \
- \u00E4r tillg\u00E4ngligt h\u00E4r. Du kan l\u00E4gga till egna \
+ \u00E4r tillg\u00E4ngligt h\u00E4r. Du kan l\u00E4gga till egna \
transkodningar om de uppfyller dessa krav:\
\
Det m\u00E5ste g\u00E5 att k\u00F6ra via kommandorad
\
@@ -522,7 +522,7 @@ share.facebook = Dela p\u00E5 Facebook
share.twitter = Dela p\u00E5 Twitter
share.googleplus = Dela p\u00E5 Google+
share.link = Eller dela genom att skicka denna l\u00E4nk: {0}
-share.disabled = F\u00F6r att kunna dela med dig m\u00E5ste du f\u00F6rst registrera din egna subsonic.org adress. \
+share.disabled = F\u00F6r att kunna dela med dig m\u00E5ste du f\u00F6rst registrera din egna libresonic.org adress. \
V\u00E4nligen g\u00E5 till Inst\u00E4llningar > N\u00E4tverk (adminr\u00E4ttigheter kr\u00E4vs).
share.manage = Hantera min delade media
@@ -554,19 +554,19 @@ lyrics.courtesy = (Lyrik av h\u00E4r \
@@ -626,14 +626,14 @@ helppopup.ldapsearchfilter.text =
S\u00F6k filtret anger vilket attribut som
helppopup.ldapmanagerdn.title = LDAP anv\u00E4ndare DN
helppopup.ldapmanagerdn.text =
Om LDAP servern in till\u00E5ter anonym s\u00F6kningm\u00E5ste du speficera DN p\u00E5 den anv\u00E4ndare som till\u00E5ts \
( DN = Distinguished Name) och l\u00F6senord.
-helppopup.ldapautoshadowing.title = Skapa A tomatiskt LDAP anv\u00E4ndare i Subsonic
-helppopup.ldapautoshadowing.text =
Med det h\u00E4r valet aktiverat, beh\u00F6ver du inte att manuellt skapa LDAP konton i Subsonic innan inloggning.
\
-
OBS! Detta val inneb\u00E4r att alla anv\u00E4ndare med ett aktivt LDAP konto kan logga in i Subsonic, \
+helppopup.ldapautoshadowing.title = Skapa A tomatiskt LDAP anv\u00E4ndare i Libresonic
+helppopup.ldapautoshadowing.text =
Med det h\u00E4r valet aktiverat, beh\u00F6ver du inte att manuellt skapa LDAP konton i Libresonic innan inloggning.
\
+
OBS! Detta val inneb\u00E4r att alla anv\u00E4ndare med ett aktivt LDAP konto kan logga in i Libresonic, \
\u00E4r det det du vill?
L\u00E5ter dig specificera ett namn som \u00E4r l\u00E4tt att komma ih\u00E5g p\u00E5 den spelare, som tex "Jobb" eller "Vardagsrum".
helppopup.autocontrol.title = Kontrollera spelare automatiskt
-helppopup.autocontrol.text =
Med det h\u00E4r valet aktivt, kommer Subsonic automatiskt att starta spelaren n\u00E4r du klickar p\u00E5 "Spela" \
+helppopup.autocontrol.text =
Med det h\u00E4r valet aktivt, kommer Libresonic automatiskt att starta spelaren n\u00E4r du klickar p\u00E5 "Spela" \
i spellistan. Annars m\u00E5ste du starta spelaren manuellt.
helppopup.dynamicip.title = Dynamisk IP address
helppopup.dynamicip.text =
St\u00E4ng av detta val om spelaren har en fast IP address.
Play fair – Don't share copyrighted material in any manner that violates the law.
+share.facebook = \u5206\u4EAB\u81F3 Facebook
+share.twitter = \u5206\u4EAB\u81F3 Twitter
+share.googleplus = \u5206\u4EAB\u81F3 Google+
+share.link = Or share this with someone by sending them this link: {0}
+share.disabled = To share your music with someone you must first register your own libresonic.org address. \
+ Please go to Settings > Network (administrative rights required).
+share.manage = Manage my shared media
+
+# premium.jsp
+premium.title = Subsonic Premium
+premium.invalidlicense = Invalid license key.
+premium.text =
\u8490\u5C0BLDAP\u7528\u6236\u6642\uFF0C\u5728\u9019\u88E1\u8A2D\u5B9A\u904E\u6FFE\u8868\u793A\u5F0F \
+ (\u5B9A\u7FA9\u5728RFC 2254)\u3002 \
+ The pattern "'{0'}" is replaced by the username, \u4F8B\u5982: \
+
\
+
(uid='{0'}) - this would search for a username match on the uid attribute.
\
+
(sAMAccountName='{0'}) - typically used for authentication in Microsoft Active Directory.
@@ -481,6 +481,7 @@
+
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/allmusic.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/allmusic.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/allmusic.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/allmusic.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp
similarity index 98%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp
index ef43fab1..f843dac0 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/artistMain.jsp
@@ -1,19 +1,19 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="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 .
+ ~ along with Libresonic. If not, see .
~
~ Copyright 2014 (C) Sindre Mehus
--%>
@@ -273,6 +273,7 @@
+
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/avatarUploadResult.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/avatarUploadResult.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/avatarUploadResult.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/avatarUploadResult.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/changeCoverArt.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/changeCoverArt.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/changeCoverArt.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/changeCoverArt.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp
similarity index 96%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp
index c4242ecd..8d9eee77 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/coverArt.jsp
@@ -15,6 +15,7 @@ PARAMETERS
showZoom: Whether to display a link for zooming the cover art.
showChange: Whether to display a link for changing the cover art.
appearAfter: Fade in after this many milliseconds, or nil if no fading in should happen.
+ hideOverflow: Hide cover art overflow when height is greater than width
--%>
@@ -32,7 +33,7 @@ PARAMETERS
-
+
overflow:hidden;" title="${param.caption1}" id="${divId}">
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/createShare.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/createShare.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/createShare.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/createShare.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/db.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/db.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/db.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/db.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp
similarity index 89%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp
index 2fe43e85..21c49b10 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/dlnaSettings.jsp
@@ -1,19 +1,19 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="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 .
+ ~ along with Libresonic. If not, see .
~
~ Copyright 2013 (C) Sindre Mehus
--%>
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/editTags.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/editTags.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/editTags.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/editTags.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp
similarity index 96%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp
index fb9f6674..fa262dcf 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/externalPlayer.jsp
@@ -45,7 +45,7 @@
var list = new Array();
- <%--@elvariable id="song" type="net.sourceforge.subsonic.domain.MediaFile"--%>
+ <%--@elvariable id="song" type="org.libresonic.player.domain.MediaFile"--%>
@@ -94,7 +94,7 @@
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp
similarity index 98%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp
index 596581c5..c1dd9244 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/generalSettings.jsp
@@ -1,5 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1" %>
-<%--@elvariable id="command" type="net.sourceforge.subsonic.command.GeneralSettingsCommand"--%>
+<%--@elvariable id="command" type="org.libresonic.player.command.GeneralSettingsCommand"--%>
<%@ include file="head.jsp" %>
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/gettingStarted.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/gettingStarted.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/gettingStarted.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/gettingStarted.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/head.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/head.jsp
similarity index 96%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/head.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/head.jsp
index dd912c77..b14d62a2 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/head.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/head.jsp
@@ -9,4 +9,4 @@
" type="text/css">
-Subsonic
+Libresonic
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/help.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/help.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/help.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/help.jsp
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/helpToolTip.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/helpToolTip.jsp
similarity index 87%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/helpToolTip.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/helpToolTip.jsp
index 720603f6..5a31c570 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/helpToolTip.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/helpToolTip.jsp
@@ -12,7 +12,7 @@ PARAMETERS
-
-
+
+
diff --git a/subsonic-main/src/main/webapp/WEB-INF/jsp/home.jsp b/libresonic-main/src/main/webapp/WEB-INF/jsp/home.jsp
similarity index 95%
rename from subsonic-main/src/main/webapp/WEB-INF/jsp/home.jsp
rename to libresonic-main/src/main/webapp/WEB-INF/jsp/home.jsp
index 124d16a3..38040f27 100644
--- a/subsonic-main/src/main/webapp/WEB-INF/jsp/home.jsp
+++ b/libresonic-main/src/main/webapp/WEB-INF/jsp/home.jsp
@@ -7,7 +7,9 @@
+
+
\ No newline at end of file
diff --git a/subsonic-main/src/main/webapp/crossdomain.xml b/libresonic-main/src/main/webapp/crossdomain.xml
similarity index 100%
rename from subsonic-main/src/main/webapp/crossdomain.xml
rename to libresonic-main/src/main/webapp/crossdomain.xml
diff --git a/subsonic-main/src/main/webapp/error.jsp b/libresonic-main/src/main/webapp/error.jsp
similarity index 92%
rename from subsonic-main/src/main/webapp/error.jsp
rename to libresonic-main/src/main/webapp/error.jsp
index 903a782e..e1b4d758 100644
--- a/subsonic-main/src/main/webapp/error.jsp
+++ b/libresonic-main/src/main/webapp/error.jsp
@@ -16,8 +16,8 @@
- Subsonic encountered an internal error. You can report this error in the
- Subsonic Forum.
+ Libresonic encountered an internal error. You can report this error in the
+ Libresonic Forum.
Please include the information below.
diff --git a/subsonic-main/src/main/webapp/flash/jw-player-5.10.swf b/libresonic-main/src/main/webapp/flash/jw-player-5.10.swf
similarity index 100%
rename from subsonic-main/src/main/webapp/flash/jw-player-5.10.swf
rename to libresonic-main/src/main/webapp/flash/jw-player-5.10.swf
diff --git a/subsonic-main/src/main/webapp/flash/jw-player-subsonic-skin.zip b/libresonic-main/src/main/webapp/flash/jw-player-libresonic-skin.zip
similarity index 100%
rename from subsonic-main/src/main/webapp/flash/jw-player-subsonic-skin.zip
rename to libresonic-main/src/main/webapp/flash/jw-player-libresonic-skin.zip
diff --git a/subsonic-main/src/main/webapp/flash/whotube.zip b/libresonic-main/src/main/webapp/flash/whotube.zip
similarity index 100%
rename from subsonic-main/src/main/webapp/flash/whotube.zip
rename to libresonic-main/src/main/webapp/flash/whotube.zip
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/add.png b/libresonic-main/src/main/webapp/icons/buuftheme/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/add.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/add.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/android.png b/libresonic-main/src/main/webapp/icons/buuftheme/android.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/android.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/android.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/back.png b/libresonic-main/src/main/webapp/icons/buuftheme/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/back.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/back.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/background_main.png b/libresonic-main/src/main/webapp/icons/buuftheme/background_main.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/background_main.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/background_main.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/clear_rating.png b/libresonic-main/src/main/webapp/icons/buuftheme/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/donate.png b/libresonic-main/src/main/webapp/icons/buuftheme/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/donate.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/donate_small.png b/libresonic-main/src/main/webapp/icons/buuftheme/donate_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/donate_small.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/donate_small.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/down.png b/libresonic-main/src/main/webapp/icons/buuftheme/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/down.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/down.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/download.png b/libresonic-main/src/main/webapp/icons/buuftheme/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/download.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/download.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/error.png b/libresonic-main/src/main/webapp/icons/buuftheme/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/error.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/error.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/favicon.ico b/libresonic-main/src/main/webapp/icons/buuftheme/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/favicon.ico
rename to libresonic-main/src/main/webapp/icons/buuftheme/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/forward.png b/libresonic-main/src/main/webapp/icons/buuftheme/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/forward.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/gpl.png b/libresonic-main/src/main/webapp/icons/buuftheme/gpl.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/gpl.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/gpl.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/help.png b/libresonic-main/src/main/webapp/icons/buuftheme/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/help.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/help.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/help_small.png b/libresonic-main/src/main/webapp/icons/buuftheme/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/help_small.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/home.png b/libresonic-main/src/main/webapp/icons/buuftheme/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/home.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/home.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/home_hover.png b/libresonic-main/src/main/webapp/icons/buuftheme/home_hover.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/home_hover.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/home_hover.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/list_heading.png b/libresonic-main/src/main/webapp/icons/buuftheme/list_heading.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/list_heading.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/list_heading.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/log.png b/libresonic-main/src/main/webapp/icons/buuftheme/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/log.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/log.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/logo.png b/libresonic-main/src/main/webapp/icons/buuftheme/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/logo.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/more.png b/libresonic-main/src/main/webapp/icons/buuftheme/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/more.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/more.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/now_playing.png b/libresonic-main/src/main/webapp/icons/buuftheme/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/now_playing.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/paypal.gif b/libresonic-main/src/main/webapp/icons/buuftheme/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/paypal.gif
rename to libresonic-main/src/main/webapp/icons/buuftheme/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/phone.png b/libresonic-main/src/main/webapp/icons/buuftheme/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/phone.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/play.png b/libresonic-main/src/main/webapp/icons/buuftheme/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/play.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/play.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/playing.png b/libresonic-main/src/main/webapp/icons/buuftheme/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/playing.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/podcast.png b/libresonic-main/src/main/webapp/icons/buuftheme/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/podcast.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/podcast_small.png b/libresonic-main/src/main/webapp/icons/buuftheme/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/progress.png b/libresonic-main/src/main/webapp/icons/buuftheme/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/progress.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/random.png b/libresonic-main/src/main/webapp/icons/buuftheme/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/random.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/random.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/rating_half.png b/libresonic-main/src/main/webapp/icons/buuftheme/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/rating_half.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/rating_off.png b/libresonic-main/src/main/webapp/icons/buuftheme/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/rating_off.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/rating_on.png b/libresonic-main/src/main/webapp/icons/buuftheme/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/rating_on.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/remove.png b/libresonic-main/src/main/webapp/icons/buuftheme/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/remove.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/search.png b/libresonic-main/src/main/webapp/icons/buuftheme/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/search.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/search.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/settings.png b/libresonic-main/src/main/webapp/icons/buuftheme/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/settings.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/status.png b/libresonic-main/src/main/webapp/icons/buuftheme/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/status.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/status.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/subair.png b/libresonic-main/src/main/webapp/icons/buuftheme/subair.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/subair.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/subair.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/up.png b/libresonic-main/src/main/webapp/icons/buuftheme/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/up.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/up.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/upload.png b/libresonic-main/src/main/webapp/icons/buuftheme/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/upload.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/buuftheme/wap.png b/libresonic-main/src/main/webapp/icons/buuftheme/wap.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/buuftheme/wap.png
rename to libresonic-main/src/main/webapp/icons/buuftheme/wap.png
diff --git a/subsonic-main/src/main/webapp/icons/cast/cast_icon_active.png b/libresonic-main/src/main/webapp/icons/cast/cast_icon_active.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/cast/cast_icon_active.png
rename to libresonic-main/src/main/webapp/icons/cast/cast_icon_active.png
diff --git a/subsonic-main/src/main/webapp/icons/cast/cast_icon_error.png b/libresonic-main/src/main/webapp/icons/cast/cast_icon_error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/cast/cast_icon_error.png
rename to libresonic-main/src/main/webapp/icons/cast/cast_icon_error.png
diff --git a/subsonic-main/src/main/webapp/icons/cast/cast_icon_idle.png b/libresonic-main/src/main/webapp/icons/cast/cast_icon_idle.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/cast/cast_icon_idle.png
rename to libresonic-main/src/main/webapp/icons/cast/cast_icon_idle.png
diff --git a/subsonic-main/src/main/webapp/icons/cast/cast_icon_warning.png b/libresonic-main/src/main/webapp/icons/cast/cast_icon_warning.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/cast/cast_icon_warning.png
rename to libresonic-main/src/main/webapp/icons/cast/cast_icon_warning.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/add.png b/libresonic-main/src/main/webapp/icons/coolandclean/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/add.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/add.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/back.png b/libresonic-main/src/main/webapp/icons/coolandclean/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/back.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/back.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/background.png b/libresonic-main/src/main/webapp/icons/coolandclean/background.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/background.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/background.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/background_main.png b/libresonic-main/src/main/webapp/icons/coolandclean/background_main.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/background_main.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/background_main.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/clear_rating.png b/libresonic-main/src/main/webapp/icons/coolandclean/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/donate.png b/libresonic-main/src/main/webapp/icons/coolandclean/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/donate.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/down.png b/libresonic-main/src/main/webapp/icons/coolandclean/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/down.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/down.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/download.png b/libresonic-main/src/main/webapp/icons/coolandclean/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/download.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/download.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/error.png b/libresonic-main/src/main/webapp/icons/coolandclean/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/error.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/error.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/favicon.ico b/libresonic-main/src/main/webapp/icons/coolandclean/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/favicon.ico
rename to libresonic-main/src/main/webapp/icons/coolandclean/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/forward.png b/libresonic-main/src/main/webapp/icons/coolandclean/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/forward.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/help.png b/libresonic-main/src/main/webapp/icons/coolandclean/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/help.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/help.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/help_small.png b/libresonic-main/src/main/webapp/icons/coolandclean/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/help_small.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/home.png b/libresonic-main/src/main/webapp/icons/coolandclean/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/home.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/home.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/home_hover.png b/libresonic-main/src/main/webapp/icons/coolandclean/home_hover.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/home_hover.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/home_hover.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/list_heading.png b/libresonic-main/src/main/webapp/icons/coolandclean/list_heading.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/list_heading.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/list_heading.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/log.png b/libresonic-main/src/main/webapp/icons/coolandclean/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/log.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/log.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/logo.png b/libresonic-main/src/main/webapp/icons/coolandclean/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/logo.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/more.png b/libresonic-main/src/main/webapp/icons/coolandclean/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/more.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/more.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/now_playing.png b/libresonic-main/src/main/webapp/icons/coolandclean/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/now_playing.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/paypal.gif b/libresonic-main/src/main/webapp/icons/coolandclean/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/paypal.gif
rename to libresonic-main/src/main/webapp/icons/coolandclean/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/phone.png b/libresonic-main/src/main/webapp/icons/coolandclean/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/phone.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/play.png b/libresonic-main/src/main/webapp/icons/coolandclean/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/play.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/play.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/playing.png b/libresonic-main/src/main/webapp/icons/coolandclean/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/playing.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/podcast.png b/libresonic-main/src/main/webapp/icons/coolandclean/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/podcast.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/podcast_small.png b/libresonic-main/src/main/webapp/icons/coolandclean/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/progress.png b/libresonic-main/src/main/webapp/icons/coolandclean/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/progress.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/random.png b/libresonic-main/src/main/webapp/icons/coolandclean/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/random.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/random.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/rating_half.png b/libresonic-main/src/main/webapp/icons/coolandclean/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/rating_half.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/rating_off.png b/libresonic-main/src/main/webapp/icons/coolandclean/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/rating_off.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/rating_on.png b/libresonic-main/src/main/webapp/icons/coolandclean/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/rating_on.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/remove.png b/libresonic-main/src/main/webapp/icons/coolandclean/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/remove.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/search.png b/libresonic-main/src/main/webapp/icons/coolandclean/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/search.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/search.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/settings.png b/libresonic-main/src/main/webapp/icons/coolandclean/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/settings.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/starred.png b/libresonic-main/src/main/webapp/icons/coolandclean/starred.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/starred.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/starred.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/status.png b/libresonic-main/src/main/webapp/icons/coolandclean/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/status.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/status.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/up.png b/libresonic-main/src/main/webapp/icons/coolandclean/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/up.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/up.png
diff --git a/subsonic-main/src/main/webapp/icons/coolandclean/upload.png b/libresonic-main/src/main/webapp/icons/coolandclean/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/coolandclean/upload.png
rename to libresonic-main/src/main/webapp/icons/coolandclean/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/add.png b/libresonic-main/src/main/webapp/icons/default_dark/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/add.png
rename to libresonic-main/src/main/webapp/icons/default_dark/add.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/add_next.png b/libresonic-main/src/main/webapp/icons/default_dark/add_next.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/add_next.png
rename to libresonic-main/src/main/webapp/icons/default_dark/add_next.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/android.png b/libresonic-main/src/main/webapp/icons/default_dark/android.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/android.png
rename to libresonic-main/src/main/webapp/icons/default_dark/android.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/apps.png b/libresonic-main/src/main/webapp/icons/default_dark/apps.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/apps.png
rename to libresonic-main/src/main/webapp/icons/default_dark/apps.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/back.png b/libresonic-main/src/main/webapp/icons/default_dark/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/back.png
rename to libresonic-main/src/main/webapp/icons/default_dark/back.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/cast_active.png b/libresonic-main/src/main/webapp/icons/default_dark/cast_active.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/cast_active.png
rename to libresonic-main/src/main/webapp/icons/default_dark/cast_active.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/cast_idle.png b/libresonic-main/src/main/webapp/icons/default_dark/cast_idle.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/cast_idle.png
rename to libresonic-main/src/main/webapp/icons/default_dark/cast_idle.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/cast_pause.png b/libresonic-main/src/main/webapp/icons/default_dark/cast_pause.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/cast_pause.png
rename to libresonic-main/src/main/webapp/icons/default_dark/cast_pause.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/cast_play.png b/libresonic-main/src/main/webapp/icons/default_dark/cast_play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/cast_play.png
rename to libresonic-main/src/main/webapp/icons/default_dark/cast_play.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/current.png b/libresonic-main/src/main/webapp/icons/default_dark/current.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/current.png
rename to libresonic-main/src/main/webapp/icons/default_dark/current.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/donate.png b/libresonic-main/src/main/webapp/icons/default_dark/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/donate.png
rename to libresonic-main/src/main/webapp/icons/default_dark/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/donate_small.png b/libresonic-main/src/main/webapp/icons/default_dark/donate_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/donate_small.png
rename to libresonic-main/src/main/webapp/icons/default_dark/donate_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/down.png b/libresonic-main/src/main/webapp/icons/default_dark/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/down.png
rename to libresonic-main/src/main/webapp/icons/default_dark/down.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/download.png b/libresonic-main/src/main/webapp/icons/default_dark/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/download.png
rename to libresonic-main/src/main/webapp/icons/default_dark/download.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/error.png b/libresonic-main/src/main/webapp/icons/default_dark/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/error.png
rename to libresonic-main/src/main/webapp/icons/default_dark/error.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/favicon.ico b/libresonic-main/src/main/webapp/icons/default_dark/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/favicon.ico
rename to libresonic-main/src/main/webapp/icons/default_dark/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/forward.png b/libresonic-main/src/main/webapp/icons/default_dark/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/forward.png
rename to libresonic-main/src/main/webapp/icons/default_dark/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/gpl.png b/libresonic-main/src/main/webapp/icons/default_dark/gpl.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/gpl.png
rename to libresonic-main/src/main/webapp/icons/default_dark/gpl.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/help.png b/libresonic-main/src/main/webapp/icons/default_dark/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/help.png
rename to libresonic-main/src/main/webapp/icons/default_dark/help.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/help_small.png b/libresonic-main/src/main/webapp/icons/default_dark/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/help_small.png
rename to libresonic-main/src/main/webapp/icons/default_dark/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/home.png b/libresonic-main/src/main/webapp/icons/default_dark/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/home.png
rename to libresonic-main/src/main/webapp/icons/default_dark/home.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/html5.png b/libresonic-main/src/main/webapp/icons/default_dark/html5.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/html5.png
rename to libresonic-main/src/main/webapp/icons/default_dark/html5.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/jamstash.png b/libresonic-main/src/main/webapp/icons/default_dark/jamstash.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/jamstash.png
rename to libresonic-main/src/main/webapp/icons/default_dark/jamstash.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/log.png b/libresonic-main/src/main/webapp/icons/default_dark/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/log.png
rename to libresonic-main/src/main/webapp/icons/default_dark/log.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/logo_light.png b/libresonic-main/src/main/webapp/icons/default_dark/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/logo_light.png
rename to libresonic-main/src/main/webapp/icons/default_dark/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/more.png b/libresonic-main/src/main/webapp/icons/default_dark/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/more.png
rename to libresonic-main/src/main/webapp/icons/default_dark/more.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/mute.png b/libresonic-main/src/main/webapp/icons/default_dark/mute.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/mute.png
rename to libresonic-main/src/main/webapp/icons/default_dark/mute.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/now_playing.png b/libresonic-main/src/main/webapp/icons/default_dark/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/now_playing.png
rename to libresonic-main/src/main/webapp/icons/default_dark/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/play.png b/libresonic-main/src/main/webapp/icons/default_dark/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/play.png
rename to libresonic-main/src/main/webapp/icons/default_dark/play.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/play_overlay.png b/libresonic-main/src/main/webapp/icons/default_dark/play_overlay.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/play_overlay.png
rename to libresonic-main/src/main/webapp/icons/default_dark/play_overlay.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/playlist.png b/libresonic-main/src/main/webapp/icons/default_dark/playlist.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/playlist.png
rename to libresonic-main/src/main/webapp/icons/default_dark/playlist.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/podcast.png b/libresonic-main/src/main/webapp/icons/default_dark/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/podcast.png
rename to libresonic-main/src/main/webapp/icons/default_dark/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/podcast_large.png b/libresonic-main/src/main/webapp/icons/default_dark/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/default_dark/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/progress.png b/libresonic-main/src/main/webapp/icons/default_dark/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/progress.png
rename to libresonic-main/src/main/webapp/icons/default_dark/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/random.png b/libresonic-main/src/main/webapp/icons/default_dark/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/random.png
rename to libresonic-main/src/main/webapp/icons/default_dark/random.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/ratingHalf.png b/libresonic-main/src/main/webapp/icons/default_dark/ratingHalf.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/ratingHalf.png
rename to libresonic-main/src/main/webapp/icons/default_dark/ratingHalf.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/ratingOff.png b/libresonic-main/src/main/webapp/icons/default_dark/ratingOff.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/ratingOff.png
rename to libresonic-main/src/main/webapp/icons/default_dark/ratingOff.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/ratingOn.png b/libresonic-main/src/main/webapp/icons/default_dark/ratingOn.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/ratingOn.png
rename to libresonic-main/src/main/webapp/icons/default_dark/ratingOn.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/remove.png b/libresonic-main/src/main/webapp/icons/default_dark/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/remove.png
rename to libresonic-main/src/main/webapp/icons/default_dark/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/search.png b/libresonic-main/src/main/webapp/icons/default_dark/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/search.png
rename to libresonic-main/src/main/webapp/icons/default_dark/search.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/settings.png b/libresonic-main/src/main/webapp/icons/default_dark/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/settings.png
rename to libresonic-main/src/main/webapp/icons/default_dark/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/share.png b/libresonic-main/src/main/webapp/icons/default_dark/share.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/share.png
rename to libresonic-main/src/main/webapp/icons/default_dark/share.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/share_facebook.png b/libresonic-main/src/main/webapp/icons/default_dark/share_facebook.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/share_facebook.png
rename to libresonic-main/src/main/webapp/icons/default_dark/share_facebook.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/share_googleplus.png b/libresonic-main/src/main/webapp/icons/default_dark/share_googleplus.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/share_googleplus.png
rename to libresonic-main/src/main/webapp/icons/default_dark/share_googleplus.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/share_small.png b/libresonic-main/src/main/webapp/icons/default_dark/share_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/share_small.png
rename to libresonic-main/src/main/webapp/icons/default_dark/share_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/share_twitter.png b/libresonic-main/src/main/webapp/icons/default_dark/share_twitter.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/share_twitter.png
rename to libresonic-main/src/main/webapp/icons/default_dark/share_twitter.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/shuffle.png b/libresonic-main/src/main/webapp/icons/default_dark/shuffle.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/shuffle.png
rename to libresonic-main/src/main/webapp/icons/default_dark/shuffle.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/spinner.gif b/libresonic-main/src/main/webapp/icons/default_dark/spinner.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/spinner.gif
rename to libresonic-main/src/main/webapp/icons/default_dark/spinner.gif
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/starred.png b/libresonic-main/src/main/webapp/icons/default_dark/starred.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/starred.png
rename to libresonic-main/src/main/webapp/icons/default_dark/starred.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/status.png b/libresonic-main/src/main/webapp/icons/default_dark/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/status.png
rename to libresonic-main/src/main/webapp/icons/default_dark/status.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/status_small.png b/libresonic-main/src/main/webapp/icons/default_dark/status_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/status_small.png
rename to libresonic-main/src/main/webapp/icons/default_dark/status_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/up.png b/libresonic-main/src/main/webapp/icons/default_dark/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/up.png
rename to libresonic-main/src/main/webapp/icons/default_dark/up.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/upload.png b/libresonic-main/src/main/webapp/icons/default_dark/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/upload.png
rename to libresonic-main/src/main/webapp/icons/default_dark/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/view_as_grid.png b/libresonic-main/src/main/webapp/icons/default_dark/view_as_grid.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/view_as_grid.png
rename to libresonic-main/src/main/webapp/icons/default_dark/view_as_grid.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/view_as_list.png b/libresonic-main/src/main/webapp/icons/default_dark/view_as_list.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/view_as_list.png
rename to libresonic-main/src/main/webapp/icons/default_dark/view_as_list.png
diff --git a/subsonic-main/src/main/webapp/icons/default_dark/volume.png b/libresonic-main/src/main/webapp/icons/default_dark/volume.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_dark/volume.png
rename to libresonic-main/src/main/webapp/icons/default_dark/volume.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/add.png b/libresonic-main/src/main/webapp/icons/default_light/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/add.png
rename to libresonic-main/src/main/webapp/icons/default_light/add.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/add_next.png b/libresonic-main/src/main/webapp/icons/default_light/add_next.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/add_next.png
rename to libresonic-main/src/main/webapp/icons/default_light/add_next.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/android.png b/libresonic-main/src/main/webapp/icons/default_light/android.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/android.png
rename to libresonic-main/src/main/webapp/icons/default_light/android.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/apps.png b/libresonic-main/src/main/webapp/icons/default_light/apps.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/apps.png
rename to libresonic-main/src/main/webapp/icons/default_light/apps.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/back.png b/libresonic-main/src/main/webapp/icons/default_light/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/back.png
rename to libresonic-main/src/main/webapp/icons/default_light/back.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/cast_active.png b/libresonic-main/src/main/webapp/icons/default_light/cast_active.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/cast_active.png
rename to libresonic-main/src/main/webapp/icons/default_light/cast_active.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/cast_idle.png b/libresonic-main/src/main/webapp/icons/default_light/cast_idle.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/cast_idle.png
rename to libresonic-main/src/main/webapp/icons/default_light/cast_idle.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/cast_pause.png b/libresonic-main/src/main/webapp/icons/default_light/cast_pause.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/cast_pause.png
rename to libresonic-main/src/main/webapp/icons/default_light/cast_pause.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/cast_play.png b/libresonic-main/src/main/webapp/icons/default_light/cast_play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/cast_play.png
rename to libresonic-main/src/main/webapp/icons/default_light/cast_play.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/current.png b/libresonic-main/src/main/webapp/icons/default_light/current.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/current.png
rename to libresonic-main/src/main/webapp/icons/default_light/current.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/donate.png b/libresonic-main/src/main/webapp/icons/default_light/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/donate.png
rename to libresonic-main/src/main/webapp/icons/default_light/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/donate_small.png b/libresonic-main/src/main/webapp/icons/default_light/donate_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/donate_small.png
rename to libresonic-main/src/main/webapp/icons/default_light/donate_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/down.png b/libresonic-main/src/main/webapp/icons/default_light/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/down.png
rename to libresonic-main/src/main/webapp/icons/default_light/down.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/download.png b/libresonic-main/src/main/webapp/icons/default_light/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/download.png
rename to libresonic-main/src/main/webapp/icons/default_light/download.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/error.png b/libresonic-main/src/main/webapp/icons/default_light/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/error.png
rename to libresonic-main/src/main/webapp/icons/default_light/error.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/favicon.ico b/libresonic-main/src/main/webapp/icons/default_light/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/favicon.ico
rename to libresonic-main/src/main/webapp/icons/default_light/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/default_light/forward.png b/libresonic-main/src/main/webapp/icons/default_light/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/forward.png
rename to libresonic-main/src/main/webapp/icons/default_light/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/gpl.png b/libresonic-main/src/main/webapp/icons/default_light/gpl.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/gpl.png
rename to libresonic-main/src/main/webapp/icons/default_light/gpl.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/help.png b/libresonic-main/src/main/webapp/icons/default_light/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/help.png
rename to libresonic-main/src/main/webapp/icons/default_light/help.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/help_small.png b/libresonic-main/src/main/webapp/icons/default_light/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/help_small.png
rename to libresonic-main/src/main/webapp/icons/default_light/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/home.png b/libresonic-main/src/main/webapp/icons/default_light/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/home.png
rename to libresonic-main/src/main/webapp/icons/default_light/home.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/html5.png b/libresonic-main/src/main/webapp/icons/default_light/html5.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/html5.png
rename to libresonic-main/src/main/webapp/icons/default_light/html5.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/jamstash.png b/libresonic-main/src/main/webapp/icons/default_light/jamstash.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/jamstash.png
rename to libresonic-main/src/main/webapp/icons/default_light/jamstash.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/log.png b/libresonic-main/src/main/webapp/icons/default_light/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/log.png
rename to libresonic-main/src/main/webapp/icons/default_light/log.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/logo.png b/libresonic-main/src/main/webapp/icons/default_light/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/logo.png
rename to libresonic-main/src/main/webapp/icons/default_light/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/more.png b/libresonic-main/src/main/webapp/icons/default_light/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/more.png
rename to libresonic-main/src/main/webapp/icons/default_light/more.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/mute.png b/libresonic-main/src/main/webapp/icons/default_light/mute.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/mute.png
rename to libresonic-main/src/main/webapp/icons/default_light/mute.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/now_playing.png b/libresonic-main/src/main/webapp/icons/default_light/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/now_playing.png
rename to libresonic-main/src/main/webapp/icons/default_light/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/play.png b/libresonic-main/src/main/webapp/icons/default_light/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/play.png
rename to libresonic-main/src/main/webapp/icons/default_light/play.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/play_overlay.png b/libresonic-main/src/main/webapp/icons/default_light/play_overlay.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/play_overlay.png
rename to libresonic-main/src/main/webapp/icons/default_light/play_overlay.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/playlist.png b/libresonic-main/src/main/webapp/icons/default_light/playlist.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/playlist.png
rename to libresonic-main/src/main/webapp/icons/default_light/playlist.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/podcast.png b/libresonic-main/src/main/webapp/icons/default_light/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/podcast.png
rename to libresonic-main/src/main/webapp/icons/default_light/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/podcast_large.png b/libresonic-main/src/main/webapp/icons/default_light/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/default_light/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/progress.png b/libresonic-main/src/main/webapp/icons/default_light/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/progress.png
rename to libresonic-main/src/main/webapp/icons/default_light/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/random.png b/libresonic-main/src/main/webapp/icons/default_light/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/random.png
rename to libresonic-main/src/main/webapp/icons/default_light/random.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/ratingHalf.png b/libresonic-main/src/main/webapp/icons/default_light/ratingHalf.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/ratingHalf.png
rename to libresonic-main/src/main/webapp/icons/default_light/ratingHalf.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/ratingOff.png b/libresonic-main/src/main/webapp/icons/default_light/ratingOff.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/ratingOff.png
rename to libresonic-main/src/main/webapp/icons/default_light/ratingOff.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/ratingOn.png b/libresonic-main/src/main/webapp/icons/default_light/ratingOn.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/ratingOn.png
rename to libresonic-main/src/main/webapp/icons/default_light/ratingOn.png
diff --git a/libresonic-main/src/main/webapp/icons/default_light/remove.gif b/libresonic-main/src/main/webapp/icons/default_light/remove.gif
new file mode 100644
index 00000000..05880438
Binary files /dev/null and b/libresonic-main/src/main/webapp/icons/default_light/remove.gif differ
diff --git a/subsonic-main/src/main/webapp/icons/default_light/remove.png b/libresonic-main/src/main/webapp/icons/default_light/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/remove.png
rename to libresonic-main/src/main/webapp/icons/default_light/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/search.png b/libresonic-main/src/main/webapp/icons/default_light/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/search.png
rename to libresonic-main/src/main/webapp/icons/default_light/search.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/settings.png b/libresonic-main/src/main/webapp/icons/default_light/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/settings.png
rename to libresonic-main/src/main/webapp/icons/default_light/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/share.png b/libresonic-main/src/main/webapp/icons/default_light/share.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/share.png
rename to libresonic-main/src/main/webapp/icons/default_light/share.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/share_facebook.png b/libresonic-main/src/main/webapp/icons/default_light/share_facebook.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/share_facebook.png
rename to libresonic-main/src/main/webapp/icons/default_light/share_facebook.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/share_googleplus.png b/libresonic-main/src/main/webapp/icons/default_light/share_googleplus.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/share_googleplus.png
rename to libresonic-main/src/main/webapp/icons/default_light/share_googleplus.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/share_small.png b/libresonic-main/src/main/webapp/icons/default_light/share_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/share_small.png
rename to libresonic-main/src/main/webapp/icons/default_light/share_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/share_twitter.png b/libresonic-main/src/main/webapp/icons/default_light/share_twitter.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/share_twitter.png
rename to libresonic-main/src/main/webapp/icons/default_light/share_twitter.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/shuffle.png b/libresonic-main/src/main/webapp/icons/default_light/shuffle.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/shuffle.png
rename to libresonic-main/src/main/webapp/icons/default_light/shuffle.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/spinner.gif b/libresonic-main/src/main/webapp/icons/default_light/spinner.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/spinner.gif
rename to libresonic-main/src/main/webapp/icons/default_light/spinner.gif
diff --git a/subsonic-main/src/main/webapp/icons/default_light/star_off.png b/libresonic-main/src/main/webapp/icons/default_light/star_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/star_off.png
rename to libresonic-main/src/main/webapp/icons/default_light/star_off.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/starred.png b/libresonic-main/src/main/webapp/icons/default_light/starred.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/starred.png
rename to libresonic-main/src/main/webapp/icons/default_light/starred.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/status.png b/libresonic-main/src/main/webapp/icons/default_light/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/status.png
rename to libresonic-main/src/main/webapp/icons/default_light/status.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/status_small.png b/libresonic-main/src/main/webapp/icons/default_light/status_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/status_small.png
rename to libresonic-main/src/main/webapp/icons/default_light/status_small.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/up.png b/libresonic-main/src/main/webapp/icons/default_light/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/up.png
rename to libresonic-main/src/main/webapp/icons/default_light/up.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/upload.png b/libresonic-main/src/main/webapp/icons/default_light/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/upload.png
rename to libresonic-main/src/main/webapp/icons/default_light/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/view_as_grid.png b/libresonic-main/src/main/webapp/icons/default_light/view_as_grid.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/view_as_grid.png
rename to libresonic-main/src/main/webapp/icons/default_light/view_as_grid.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/view_as_list.png b/libresonic-main/src/main/webapp/icons/default_light/view_as_list.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/view_as_list.png
rename to libresonic-main/src/main/webapp/icons/default_light/view_as_list.png
diff --git a/subsonic-main/src/main/webapp/icons/default_light/volume.png b/libresonic-main/src/main/webapp/icons/default_light/volume.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/default_light/volume.png
rename to libresonic-main/src/main/webapp/icons/default_light/volume.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/add.png b/libresonic-main/src/main/webapp/icons/denim/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/add.png
rename to libresonic-main/src/main/webapp/icons/denim/add.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/back.png b/libresonic-main/src/main/webapp/icons/denim/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/back.png
rename to libresonic-main/src/main/webapp/icons/denim/back.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/clear_rating.png b/libresonic-main/src/main/webapp/icons/denim/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/denim/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/donate.png b/libresonic-main/src/main/webapp/icons/denim/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/donate.png
rename to libresonic-main/src/main/webapp/icons/denim/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/down.png b/libresonic-main/src/main/webapp/icons/denim/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/down.png
rename to libresonic-main/src/main/webapp/icons/denim/down.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/download.png b/libresonic-main/src/main/webapp/icons/denim/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/download.png
rename to libresonic-main/src/main/webapp/icons/denim/download.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/error.png b/libresonic-main/src/main/webapp/icons/denim/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/error.png
rename to libresonic-main/src/main/webapp/icons/denim/error.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/favicon.ico b/libresonic-main/src/main/webapp/icons/denim/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/favicon.ico
rename to libresonic-main/src/main/webapp/icons/denim/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/denim/forward.png b/libresonic-main/src/main/webapp/icons/denim/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/forward.png
rename to libresonic-main/src/main/webapp/icons/denim/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/help.png b/libresonic-main/src/main/webapp/icons/denim/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/help.png
rename to libresonic-main/src/main/webapp/icons/denim/help.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/help_small.png b/libresonic-main/src/main/webapp/icons/denim/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/help_small.png
rename to libresonic-main/src/main/webapp/icons/denim/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/home.png b/libresonic-main/src/main/webapp/icons/denim/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/home.png
rename to libresonic-main/src/main/webapp/icons/denim/home.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/log.png b/libresonic-main/src/main/webapp/icons/denim/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/log.png
rename to libresonic-main/src/main/webapp/icons/denim/log.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/logo_light.png b/libresonic-main/src/main/webapp/icons/denim/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/logo_light.png
rename to libresonic-main/src/main/webapp/icons/denim/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/more.png b/libresonic-main/src/main/webapp/icons/denim/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/more.png
rename to libresonic-main/src/main/webapp/icons/denim/more.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/now_playing.png b/libresonic-main/src/main/webapp/icons/denim/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/now_playing.png
rename to libresonic-main/src/main/webapp/icons/denim/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/paypal.gif b/libresonic-main/src/main/webapp/icons/denim/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/paypal.gif
rename to libresonic-main/src/main/webapp/icons/denim/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/denim/phone.png b/libresonic-main/src/main/webapp/icons/denim/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/phone.png
rename to libresonic-main/src/main/webapp/icons/denim/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/play.png b/libresonic-main/src/main/webapp/icons/denim/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/play.png
rename to libresonic-main/src/main/webapp/icons/denim/play.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/playing.png b/libresonic-main/src/main/webapp/icons/denim/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/playing.png
rename to libresonic-main/src/main/webapp/icons/denim/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/podcast.png b/libresonic-main/src/main/webapp/icons/denim/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/podcast.png
rename to libresonic-main/src/main/webapp/icons/denim/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/podcast_small.png b/libresonic-main/src/main/webapp/icons/denim/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/denim/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/progress.png b/libresonic-main/src/main/webapp/icons/denim/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/progress.png
rename to libresonic-main/src/main/webapp/icons/denim/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/random.png b/libresonic-main/src/main/webapp/icons/denim/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/random.png
rename to libresonic-main/src/main/webapp/icons/denim/random.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/rating_half.png b/libresonic-main/src/main/webapp/icons/denim/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/rating_half.png
rename to libresonic-main/src/main/webapp/icons/denim/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/rating_off.png b/libresonic-main/src/main/webapp/icons/denim/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/rating_off.png
rename to libresonic-main/src/main/webapp/icons/denim/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/rating_on.png b/libresonic-main/src/main/webapp/icons/denim/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/rating_on.png
rename to libresonic-main/src/main/webapp/icons/denim/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/remove.png b/libresonic-main/src/main/webapp/icons/denim/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/remove.png
rename to libresonic-main/src/main/webapp/icons/denim/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/search.png b/libresonic-main/src/main/webapp/icons/denim/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/search.png
rename to libresonic-main/src/main/webapp/icons/denim/search.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/settings.png b/libresonic-main/src/main/webapp/icons/denim/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/settings.png
rename to libresonic-main/src/main/webapp/icons/denim/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/status.png b/libresonic-main/src/main/webapp/icons/denim/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/status.png
rename to libresonic-main/src/main/webapp/icons/denim/status.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/up.png b/libresonic-main/src/main/webapp/icons/denim/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/up.png
rename to libresonic-main/src/main/webapp/icons/denim/up.png
diff --git a/subsonic-main/src/main/webapp/icons/denim/upload.png b/libresonic-main/src/main/webapp/icons/denim/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/denim/upload.png
rename to libresonic-main/src/main/webapp/icons/denim/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/favicon.png b/libresonic-main/src/main/webapp/icons/favicon.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/favicon.png
rename to libresonic-main/src/main/webapp/icons/favicon.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/add.png b/libresonic-main/src/main/webapp/icons/groove/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/add.png
rename to libresonic-main/src/main/webapp/icons/groove/add.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/back.png b/libresonic-main/src/main/webapp/icons/groove/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/back.png
rename to libresonic-main/src/main/webapp/icons/groove/back.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/background_main.png b/libresonic-main/src/main/webapp/icons/groove/background_main.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/background_main.png
rename to libresonic-main/src/main/webapp/icons/groove/background_main.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/background_main_blank.png b/libresonic-main/src/main/webapp/icons/groove/background_main_blank.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/background_main_blank.png
rename to libresonic-main/src/main/webapp/icons/groove/background_main_blank.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/clear_rating.png b/libresonic-main/src/main/webapp/icons/groove/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/groove/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/donate.png b/libresonic-main/src/main/webapp/icons/groove/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/donate.png
rename to libresonic-main/src/main/webapp/icons/groove/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/down.png b/libresonic-main/src/main/webapp/icons/groove/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/down.png
rename to libresonic-main/src/main/webapp/icons/groove/down.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/download.png b/libresonic-main/src/main/webapp/icons/groove/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/download.png
rename to libresonic-main/src/main/webapp/icons/groove/download.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/error.png b/libresonic-main/src/main/webapp/icons/groove/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/error.png
rename to libresonic-main/src/main/webapp/icons/groove/error.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/favicon.ico b/libresonic-main/src/main/webapp/icons/groove/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/favicon.ico
rename to libresonic-main/src/main/webapp/icons/groove/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/groove/forward.png b/libresonic-main/src/main/webapp/icons/groove/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/forward.png
rename to libresonic-main/src/main/webapp/icons/groove/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/help.png b/libresonic-main/src/main/webapp/icons/groove/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/help.png
rename to libresonic-main/src/main/webapp/icons/groove/help.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/help_small.png b/libresonic-main/src/main/webapp/icons/groove/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/help_small.png
rename to libresonic-main/src/main/webapp/icons/groove/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/home.png b/libresonic-main/src/main/webapp/icons/groove/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/home.png
rename to libresonic-main/src/main/webapp/icons/groove/home.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/log.png b/libresonic-main/src/main/webapp/icons/groove/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/log.png
rename to libresonic-main/src/main/webapp/icons/groove/log.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/logo.png b/libresonic-main/src/main/webapp/icons/groove/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/logo.png
rename to libresonic-main/src/main/webapp/icons/groove/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/more.png b/libresonic-main/src/main/webapp/icons/groove/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/more.png
rename to libresonic-main/src/main/webapp/icons/groove/more.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/now_playing.png b/libresonic-main/src/main/webapp/icons/groove/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/now_playing.png
rename to libresonic-main/src/main/webapp/icons/groove/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/paypal.gif b/libresonic-main/src/main/webapp/icons/groove/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/paypal.gif
rename to libresonic-main/src/main/webapp/icons/groove/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/groove/phone.png b/libresonic-main/src/main/webapp/icons/groove/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/phone.png
rename to libresonic-main/src/main/webapp/icons/groove/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/play.png b/libresonic-main/src/main/webapp/icons/groove/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/play.png
rename to libresonic-main/src/main/webapp/icons/groove/play.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/playing.png b/libresonic-main/src/main/webapp/icons/groove/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/playing.png
rename to libresonic-main/src/main/webapp/icons/groove/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/podcast.png b/libresonic-main/src/main/webapp/icons/groove/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/podcast.png
rename to libresonic-main/src/main/webapp/icons/groove/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/podcast_small.png b/libresonic-main/src/main/webapp/icons/groove/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/groove/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/progress.png b/libresonic-main/src/main/webapp/icons/groove/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/progress.png
rename to libresonic-main/src/main/webapp/icons/groove/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/random.png b/libresonic-main/src/main/webapp/icons/groove/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/random.png
rename to libresonic-main/src/main/webapp/icons/groove/random.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/rating_half.png b/libresonic-main/src/main/webapp/icons/groove/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/rating_half.png
rename to libresonic-main/src/main/webapp/icons/groove/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/rating_off.png b/libresonic-main/src/main/webapp/icons/groove/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/rating_off.png
rename to libresonic-main/src/main/webapp/icons/groove/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/rating_on.png b/libresonic-main/src/main/webapp/icons/groove/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/rating_on.png
rename to libresonic-main/src/main/webapp/icons/groove/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/remove.png b/libresonic-main/src/main/webapp/icons/groove/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/remove.png
rename to libresonic-main/src/main/webapp/icons/groove/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/search.png b/libresonic-main/src/main/webapp/icons/groove/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/search.png
rename to libresonic-main/src/main/webapp/icons/groove/search.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/settings.png b/libresonic-main/src/main/webapp/icons/groove/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/settings.png
rename to libresonic-main/src/main/webapp/icons/groove/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/status.png b/libresonic-main/src/main/webapp/icons/groove/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/status.png
rename to libresonic-main/src/main/webapp/icons/groove/status.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/up.png b/libresonic-main/src/main/webapp/icons/groove/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/up.png
rename to libresonic-main/src/main/webapp/icons/groove/up.png
diff --git a/subsonic-main/src/main/webapp/icons/groove/upload.png b/libresonic-main/src/main/webapp/icons/groove/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/groove/upload.png
rename to libresonic-main/src/main/webapp/icons/groove/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/hd/background.png b/libresonic-main/src/main/webapp/icons/hd/background.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hd/background.png
rename to libresonic-main/src/main/webapp/icons/hd/background.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/favicon.ico b/libresonic-main/src/main/webapp/icons/hicon/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/favicon.ico
rename to libresonic-main/src/main/webapp/icons/hicon/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/hicon/help.png b/libresonic-main/src/main/webapp/icons/hicon/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/help.png
rename to libresonic-main/src/main/webapp/icons/hicon/help.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/home.png b/libresonic-main/src/main/webapp/icons/hicon/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/home.png
rename to libresonic-main/src/main/webapp/icons/hicon/home.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/logo.png b/libresonic-main/src/main/webapp/icons/hicon/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/logo.png
rename to libresonic-main/src/main/webapp/icons/hicon/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/more.png b/libresonic-main/src/main/webapp/icons/hicon/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/more.png
rename to libresonic-main/src/main/webapp/icons/hicon/more.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/now_playing.png b/libresonic-main/src/main/webapp/icons/hicon/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/now_playing.png
rename to libresonic-main/src/main/webapp/icons/hicon/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/podcast_large.png b/libresonic-main/src/main/webapp/icons/hicon/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/hicon/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/settings.png b/libresonic-main/src/main/webapp/icons/hicon/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/settings.png
rename to libresonic-main/src/main/webapp/icons/hicon/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/hicon/status.png b/libresonic-main/src/main/webapp/icons/hicon/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hicon/status.png
rename to libresonic-main/src/main/webapp/icons/hicon/status.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/Untitled-1.ico b/libresonic-main/src/main/webapp/icons/hiconi/Untitled-1.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/Untitled-1.ico
rename to libresonic-main/src/main/webapp/icons/hiconi/Untitled-1.ico
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/help.png b/libresonic-main/src/main/webapp/icons/hiconi/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/help.png
rename to libresonic-main/src/main/webapp/icons/hiconi/help.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/home.png b/libresonic-main/src/main/webapp/icons/hiconi/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/home.png
rename to libresonic-main/src/main/webapp/icons/hiconi/home.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/logo_light.png b/libresonic-main/src/main/webapp/icons/hiconi/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/logo_light.png
rename to libresonic-main/src/main/webapp/icons/hiconi/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/more.png b/libresonic-main/src/main/webapp/icons/hiconi/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/more.png
rename to libresonic-main/src/main/webapp/icons/hiconi/more.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/now_playing.png b/libresonic-main/src/main/webapp/icons/hiconi/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/now_playing.png
rename to libresonic-main/src/main/webapp/icons/hiconi/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/podcast_large.png b/libresonic-main/src/main/webapp/icons/hiconi/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/hiconi/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/settings.png b/libresonic-main/src/main/webapp/icons/hiconi/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/settings.png
rename to libresonic-main/src/main/webapp/icons/hiconi/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/hiconi/status.png b/libresonic-main/src/main/webapp/icons/hiconi/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hiconi/status.png
rename to libresonic-main/src/main/webapp/icons/hiconi/status.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/bg.jpg b/libresonic-main/src/main/webapp/icons/hitech/bg.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/bg.jpg
rename to libresonic-main/src/main/webapp/icons/hitech/bg.jpg
diff --git a/subsonic-main/src/main/webapp/icons/hitech/bg2.jpg b/libresonic-main/src/main/webapp/icons/hitech/bg2.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/bg2.jpg
rename to libresonic-main/src/main/webapp/icons/hitech/bg2.jpg
diff --git a/subsonic-main/src/main/webapp/icons/hitech/favicon.ico b/libresonic-main/src/main/webapp/icons/hitech/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/favicon.ico
rename to libresonic-main/src/main/webapp/icons/hitech/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/hitech/help.png b/libresonic-main/src/main/webapp/icons/hitech/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/help.png
rename to libresonic-main/src/main/webapp/icons/hitech/help.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/home.png b/libresonic-main/src/main/webapp/icons/hitech/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/home.png
rename to libresonic-main/src/main/webapp/icons/hitech/home.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/logo_light.png b/libresonic-main/src/main/webapp/icons/hitech/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/logo_light.png
rename to libresonic-main/src/main/webapp/icons/hitech/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/more.png b/libresonic-main/src/main/webapp/icons/hitech/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/more.png
rename to libresonic-main/src/main/webapp/icons/hitech/more.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/now_playing.png b/libresonic-main/src/main/webapp/icons/hitech/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/now_playing.png
rename to libresonic-main/src/main/webapp/icons/hitech/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/podcast_large.png b/libresonic-main/src/main/webapp/icons/hitech/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/hitech/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/settings.png b/libresonic-main/src/main/webapp/icons/hitech/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/settings.png
rename to libresonic-main/src/main/webapp/icons/hitech/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/hitech/status.png b/libresonic-main/src/main/webapp/icons/hitech/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/hitech/status.png
rename to libresonic-main/src/main/webapp/icons/hitech/status.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/error.png b/libresonic-main/src/main/webapp/icons/midnightfun/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/error.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/error.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/favicon.ico b/libresonic-main/src/main/webapp/icons/midnightfun/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/favicon.ico
rename to libresonic-main/src/main/webapp/icons/midnightfun/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/logo.png b/libresonic-main/src/main/webapp/icons/midnightfun/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/logo.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_Now_Playing.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_Now_Playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_Now_Playing.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_Now_Playing.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_add.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_add.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_add.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_back.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_back.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_back.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_background.gif b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_background.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_background.gif
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_background.gif
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_clear_Rating.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_clear_Rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_clear_Rating.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_clear_Rating.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_donate.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_donate.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_donate.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_down.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_down.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_down.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_download.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_download.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_download.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls.jpg b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls.jpg
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls.jpg
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls_hover.jpg b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls_hover.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls_hover.jpg
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_form_controls_hover.jpg
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_forward.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_forward.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_forward.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_help.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_help.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_help.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_help_small.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_help_small.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_home.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_home.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_home.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_home_hover.jpg b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_home_hover.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_home_hover.jpg
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_home_hover.jpg
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_log.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_log.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_log.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_logo_favicon.ico b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_logo_favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_logo_favicon.ico
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_logo_favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_more.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_more.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_more.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_paypal.gif b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_paypal.gif
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_phone.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_phone.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_phone.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_play.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_play.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_play.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_playing.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_playing.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast_small.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast_small.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_random.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_random.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_random.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_remove.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_remove.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_remove.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_search.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_search.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_search.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_settings.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_settings.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_settings.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_status.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_status.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_status.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_table.jpg b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_table.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_table.jpg
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_table.jpg
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_text_back.jpg b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_text_back.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_text_back.jpg
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_text_back.jpg
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_up.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_up.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_up.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_upload.png b/libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/midnightfun_upload.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/midnightfun_upload.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/progress.png b/libresonic-main/src/main/webapp/icons/midnightfun/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/progress.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/ratingHalf.png b/libresonic-main/src/main/webapp/icons/midnightfun/ratingHalf.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/ratingHalf.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/ratingHalf.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/ratingOff.png b/libresonic-main/src/main/webapp/icons/midnightfun/ratingOff.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/ratingOff.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/ratingOff.png
diff --git a/subsonic-main/src/main/webapp/icons/midnightfun/ratingOn.png b/libresonic-main/src/main/webapp/icons/midnightfun/ratingOn.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/midnightfun/ratingOn.png
rename to libresonic-main/src/main/webapp/icons/midnightfun/ratingOn.png
diff --git a/subsonic-main/src/main/webapp/icons/monochrome/logo.png b/libresonic-main/src/main/webapp/icons/monochrome/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/monochrome/logo.png
rename to libresonic-main/src/main/webapp/icons/monochrome/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/monochrome/logo_light.png b/libresonic-main/src/main/webapp/icons/monochrome/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/monochrome/logo_light.png
rename to libresonic-main/src/main/webapp/icons/monochrome/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/add.png b/libresonic-main/src/main/webapp/icons/pinkpanther/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/add.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/add.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/back.png b/libresonic-main/src/main/webapp/icons/pinkpanther/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/back.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/back.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/clear_rating.png b/libresonic-main/src/main/webapp/icons/pinkpanther/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/donate.png b/libresonic-main/src/main/webapp/icons/pinkpanther/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/donate.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/down.png b/libresonic-main/src/main/webapp/icons/pinkpanther/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/down.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/down.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/download.png b/libresonic-main/src/main/webapp/icons/pinkpanther/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/download.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/download.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/error.png b/libresonic-main/src/main/webapp/icons/pinkpanther/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/error.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/error.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/favicon.ico b/libresonic-main/src/main/webapp/icons/pinkpanther/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/favicon.ico
rename to libresonic-main/src/main/webapp/icons/pinkpanther/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/forward.png b/libresonic-main/src/main/webapp/icons/pinkpanther/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/forward.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/help.png b/libresonic-main/src/main/webapp/icons/pinkpanther/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/help.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/help.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/help_small.png b/libresonic-main/src/main/webapp/icons/pinkpanther/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/help_small.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/home.png b/libresonic-main/src/main/webapp/icons/pinkpanther/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/home.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/home.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/log.png b/libresonic-main/src/main/webapp/icons/pinkpanther/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/log.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/log.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/logo_light.png b/libresonic-main/src/main/webapp/icons/pinkpanther/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/logo_light.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/more.png b/libresonic-main/src/main/webapp/icons/pinkpanther/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/more.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/more.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/now_playing.png b/libresonic-main/src/main/webapp/icons/pinkpanther/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/now_playing.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/paypal.gif b/libresonic-main/src/main/webapp/icons/pinkpanther/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/paypal.gif
rename to libresonic-main/src/main/webapp/icons/pinkpanther/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/phone.png b/libresonic-main/src/main/webapp/icons/pinkpanther/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/phone.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/play.png b/libresonic-main/src/main/webapp/icons/pinkpanther/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/play.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/play.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/playing.png b/libresonic-main/src/main/webapp/icons/pinkpanther/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/playing.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/podcast.png b/libresonic-main/src/main/webapp/icons/pinkpanther/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/podcast.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/podcast_small.png b/libresonic-main/src/main/webapp/icons/pinkpanther/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/progress.png b/libresonic-main/src/main/webapp/icons/pinkpanther/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/progress.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/random.png b/libresonic-main/src/main/webapp/icons/pinkpanther/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/random.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/random.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/rating_half.png b/libresonic-main/src/main/webapp/icons/pinkpanther/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/rating_half.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/rating_off.png b/libresonic-main/src/main/webapp/icons/pinkpanther/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/rating_off.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/rating_on.png b/libresonic-main/src/main/webapp/icons/pinkpanther/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/rating_on.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/remove.png b/libresonic-main/src/main/webapp/icons/pinkpanther/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/remove.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/search.png b/libresonic-main/src/main/webapp/icons/pinkpanther/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/search.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/search.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/settings.png b/libresonic-main/src/main/webapp/icons/pinkpanther/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/settings.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/status.png b/libresonic-main/src/main/webapp/icons/pinkpanther/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/status.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/status.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/up.png b/libresonic-main/src/main/webapp/icons/pinkpanther/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/up.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/up.png
diff --git a/subsonic-main/src/main/webapp/icons/pinkpanther/upload.png b/libresonic-main/src/main/webapp/icons/pinkpanther/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/pinkpanther/upload.png
rename to libresonic-main/src/main/webapp/icons/pinkpanther/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/add.gif b/libresonic-main/src/main/webapp/icons/ripserver/add.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/add.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/add.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/back.gif b/libresonic-main/src/main/webapp/icons/ripserver/back.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/back.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/back.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/background.png b/libresonic-main/src/main/webapp/icons/ripserver/background.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/background.png
rename to libresonic-main/src/main/webapp/icons/ripserver/background.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/clearRating.png b/libresonic-main/src/main/webapp/icons/ripserver/clearRating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/clearRating.png
rename to libresonic-main/src/main/webapp/icons/ripserver/clearRating.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/current.gif b/libresonic-main/src/main/webapp/icons/ripserver/current.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/current.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/current.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/donate.png b/libresonic-main/src/main/webapp/icons/ripserver/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/donate.png
rename to libresonic-main/src/main/webapp/icons/ripserver/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/down.gif b/libresonic-main/src/main/webapp/icons/ripserver/down.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/down.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/down.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/download.gif b/libresonic-main/src/main/webapp/icons/ripserver/download.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/download.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/download.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/error.png b/libresonic-main/src/main/webapp/icons/ripserver/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/error.png
rename to libresonic-main/src/main/webapp/icons/ripserver/error.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/favicon.ico b/libresonic-main/src/main/webapp/icons/ripserver/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/favicon.ico
rename to libresonic-main/src/main/webapp/icons/ripserver/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/forward.gif b/libresonic-main/src/main/webapp/icons/ripserver/forward.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/forward.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/forward.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/help.png b/libresonic-main/src/main/webapp/icons/ripserver/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/help.png
rename to libresonic-main/src/main/webapp/icons/ripserver/help.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/help_small.png b/libresonic-main/src/main/webapp/icons/ripserver/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/help_small.png
rename to libresonic-main/src/main/webapp/icons/ripserver/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/home.png b/libresonic-main/src/main/webapp/icons/ripserver/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/home.png
rename to libresonic-main/src/main/webapp/icons/ripserver/home.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/subsonic_black.png b/libresonic-main/src/main/webapp/icons/ripserver/libresonic_black.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/subsonic_black.png
rename to libresonic-main/src/main/webapp/icons/ripserver/libresonic_black.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/subsonic_white.png b/libresonic-main/src/main/webapp/icons/ripserver/libresonic_white.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/subsonic_white.png
rename to libresonic-main/src/main/webapp/icons/ripserver/libresonic_white.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/log.png b/libresonic-main/src/main/webapp/icons/ripserver/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/log.png
rename to libresonic-main/src/main/webapp/icons/ripserver/log.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/more.png b/libresonic-main/src/main/webapp/icons/ripserver/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/more.png
rename to libresonic-main/src/main/webapp/icons/ripserver/more.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/now_playing.png b/libresonic-main/src/main/webapp/icons/ripserver/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/now_playing.png
rename to libresonic-main/src/main/webapp/icons/ripserver/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/paypal.gif b/libresonic-main/src/main/webapp/icons/ripserver/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/paypal.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/play.gif b/libresonic-main/src/main/webapp/icons/ripserver/play.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/play.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/play.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/podcast.png b/libresonic-main/src/main/webapp/icons/ripserver/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/podcast.png
rename to libresonic-main/src/main/webapp/icons/ripserver/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/podcast_large.png b/libresonic-main/src/main/webapp/icons/ripserver/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/ripserver/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/progress.png b/libresonic-main/src/main/webapp/icons/ripserver/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/progress.png
rename to libresonic-main/src/main/webapp/icons/ripserver/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/random.png b/libresonic-main/src/main/webapp/icons/ripserver/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/random.png
rename to libresonic-main/src/main/webapp/icons/ripserver/random.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/ratingHalf.png b/libresonic-main/src/main/webapp/icons/ripserver/ratingHalf.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/ratingHalf.png
rename to libresonic-main/src/main/webapp/icons/ripserver/ratingHalf.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/ratingOff.png b/libresonic-main/src/main/webapp/icons/ripserver/ratingOff.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/ratingOff.png
rename to libresonic-main/src/main/webapp/icons/ripserver/ratingOff.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/ratingOn.png b/libresonic-main/src/main/webapp/icons/ripserver/ratingOn.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/ratingOn.png
rename to libresonic-main/src/main/webapp/icons/ripserver/ratingOn.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/remove.gif b/libresonic-main/src/main/webapp/icons/ripserver/remove.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/remove.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/remove.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/search.png b/libresonic-main/src/main/webapp/icons/ripserver/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/search.png
rename to libresonic-main/src/main/webapp/icons/ripserver/search.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/settings.png b/libresonic-main/src/main/webapp/icons/ripserver/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/settings.png
rename to libresonic-main/src/main/webapp/icons/ripserver/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/status.png b/libresonic-main/src/main/webapp/icons/ripserver/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/status.png
rename to libresonic-main/src/main/webapp/icons/ripserver/status.png
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/up.gif b/libresonic-main/src/main/webapp/icons/ripserver/up.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/up.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/up.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/upload.gif b/libresonic-main/src/main/webapp/icons/ripserver/upload.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/upload.gif
rename to libresonic-main/src/main/webapp/icons/ripserver/upload.gif
diff --git a/subsonic-main/src/main/webapp/icons/ripserver/wap.png b/libresonic-main/src/main/webapp/icons/ripserver/wap.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/ripserver/wap.png
rename to libresonic-main/src/main/webapp/icons/ripserver/wap.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/add.png b/libresonic-main/src/main/webapp/icons/simplify/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/add.png
rename to libresonic-main/src/main/webapp/icons/simplify/add.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/back.png b/libresonic-main/src/main/webapp/icons/simplify/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/back.png
rename to libresonic-main/src/main/webapp/icons/simplify/back.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/clear_rating.png b/libresonic-main/src/main/webapp/icons/simplify/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/simplify/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/donate.png b/libresonic-main/src/main/webapp/icons/simplify/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/donate.png
rename to libresonic-main/src/main/webapp/icons/simplify/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/down.png b/libresonic-main/src/main/webapp/icons/simplify/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/down.png
rename to libresonic-main/src/main/webapp/icons/simplify/down.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/download.png b/libresonic-main/src/main/webapp/icons/simplify/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/download.png
rename to libresonic-main/src/main/webapp/icons/simplify/download.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/error.png b/libresonic-main/src/main/webapp/icons/simplify/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/error.png
rename to libresonic-main/src/main/webapp/icons/simplify/error.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/favicon.ico b/libresonic-main/src/main/webapp/icons/simplify/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/favicon.ico
rename to libresonic-main/src/main/webapp/icons/simplify/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/simplify/forward.png b/libresonic-main/src/main/webapp/icons/simplify/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/forward.png
rename to libresonic-main/src/main/webapp/icons/simplify/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/help.png b/libresonic-main/src/main/webapp/icons/simplify/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/help.png
rename to libresonic-main/src/main/webapp/icons/simplify/help.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/help_small.png b/libresonic-main/src/main/webapp/icons/simplify/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/help_small.png
rename to libresonic-main/src/main/webapp/icons/simplify/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/home.png b/libresonic-main/src/main/webapp/icons/simplify/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/home.png
rename to libresonic-main/src/main/webapp/icons/simplify/home.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/log.png b/libresonic-main/src/main/webapp/icons/simplify/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/log.png
rename to libresonic-main/src/main/webapp/icons/simplify/log.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/logo_light.png b/libresonic-main/src/main/webapp/icons/simplify/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/logo_light.png
rename to libresonic-main/src/main/webapp/icons/simplify/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/more.png b/libresonic-main/src/main/webapp/icons/simplify/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/more.png
rename to libresonic-main/src/main/webapp/icons/simplify/more.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/now_playing.png b/libresonic-main/src/main/webapp/icons/simplify/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/now_playing.png
rename to libresonic-main/src/main/webapp/icons/simplify/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/paypal.gif b/libresonic-main/src/main/webapp/icons/simplify/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/paypal.gif
rename to libresonic-main/src/main/webapp/icons/simplify/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/simplify/phone.png b/libresonic-main/src/main/webapp/icons/simplify/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/phone.png
rename to libresonic-main/src/main/webapp/icons/simplify/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/play.png b/libresonic-main/src/main/webapp/icons/simplify/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/play.png
rename to libresonic-main/src/main/webapp/icons/simplify/play.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/playing.png b/libresonic-main/src/main/webapp/icons/simplify/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/playing.png
rename to libresonic-main/src/main/webapp/icons/simplify/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/podcast.png b/libresonic-main/src/main/webapp/icons/simplify/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/podcast.png
rename to libresonic-main/src/main/webapp/icons/simplify/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/podcast_small.png b/libresonic-main/src/main/webapp/icons/simplify/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/simplify/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/progress.png b/libresonic-main/src/main/webapp/icons/simplify/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/progress.png
rename to libresonic-main/src/main/webapp/icons/simplify/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/random.png b/libresonic-main/src/main/webapp/icons/simplify/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/random.png
rename to libresonic-main/src/main/webapp/icons/simplify/random.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/rating_half.png b/libresonic-main/src/main/webapp/icons/simplify/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/rating_half.png
rename to libresonic-main/src/main/webapp/icons/simplify/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/rating_off.png b/libresonic-main/src/main/webapp/icons/simplify/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/rating_off.png
rename to libresonic-main/src/main/webapp/icons/simplify/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/rating_on.png b/libresonic-main/src/main/webapp/icons/simplify/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/rating_on.png
rename to libresonic-main/src/main/webapp/icons/simplify/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/remove.png b/libresonic-main/src/main/webapp/icons/simplify/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/remove.png
rename to libresonic-main/src/main/webapp/icons/simplify/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/search.png b/libresonic-main/src/main/webapp/icons/simplify/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/search.png
rename to libresonic-main/src/main/webapp/icons/simplify/search.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/settings.png b/libresonic-main/src/main/webapp/icons/simplify/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/settings.png
rename to libresonic-main/src/main/webapp/icons/simplify/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/status.png b/libresonic-main/src/main/webapp/icons/simplify/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/status.png
rename to libresonic-main/src/main/webapp/icons/simplify/status.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/up.png b/libresonic-main/src/main/webapp/icons/simplify/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/up.png
rename to libresonic-main/src/main/webapp/icons/simplify/up.png
diff --git a/subsonic-main/src/main/webapp/icons/simplify/upload.png b/libresonic-main/src/main/webapp/icons/simplify/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/simplify/upload.png
rename to libresonic-main/src/main/webapp/icons/simplify/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/favicon.ico b/libresonic-main/src/main/webapp/icons/slick/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/favicon.ico
rename to libresonic-main/src/main/webapp/icons/slick/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/slick/help.png b/libresonic-main/src/main/webapp/icons/slick/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/help.png
rename to libresonic-main/src/main/webapp/icons/slick/help.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/home.png b/libresonic-main/src/main/webapp/icons/slick/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/home.png
rename to libresonic-main/src/main/webapp/icons/slick/home.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/logo_light.png b/libresonic-main/src/main/webapp/icons/slick/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/logo_light.png
rename to libresonic-main/src/main/webapp/icons/slick/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/more.png b/libresonic-main/src/main/webapp/icons/slick/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/more.png
rename to libresonic-main/src/main/webapp/icons/slick/more.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/now_playing.png b/libresonic-main/src/main/webapp/icons/slick/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/now_playing.png
rename to libresonic-main/src/main/webapp/icons/slick/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/podcast_large.png b/libresonic-main/src/main/webapp/icons/slick/podcast_large.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/podcast_large.png
rename to libresonic-main/src/main/webapp/icons/slick/podcast_large.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/settings.png b/libresonic-main/src/main/webapp/icons/slick/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/settings.png
rename to libresonic-main/src/main/webapp/icons/slick/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/status.png b/libresonic-main/src/main/webapp/icons/slick/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/status.png
rename to libresonic-main/src/main/webapp/icons/slick/status.png
diff --git a/subsonic-main/src/main/webapp/icons/slick/top_bg.jpg b/libresonic-main/src/main/webapp/icons/slick/top_bg.jpg
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/slick/top_bg.jpg
rename to libresonic-main/src/main/webapp/icons/slick/top_bg.jpg
diff --git a/subsonic-main/src/main/webapp/icons/sonic/add.png b/libresonic-main/src/main/webapp/icons/sonic/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/add.png
rename to libresonic-main/src/main/webapp/icons/sonic/add.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/back.png b/libresonic-main/src/main/webapp/icons/sonic/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/back.png
rename to libresonic-main/src/main/webapp/icons/sonic/back.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/clear_rating.png b/libresonic-main/src/main/webapp/icons/sonic/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/sonic/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/donate.png b/libresonic-main/src/main/webapp/icons/sonic/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/donate.png
rename to libresonic-main/src/main/webapp/icons/sonic/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/down.png b/libresonic-main/src/main/webapp/icons/sonic/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/down.png
rename to libresonic-main/src/main/webapp/icons/sonic/down.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/download.png b/libresonic-main/src/main/webapp/icons/sonic/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/download.png
rename to libresonic-main/src/main/webapp/icons/sonic/download.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/error.png b/libresonic-main/src/main/webapp/icons/sonic/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/error.png
rename to libresonic-main/src/main/webapp/icons/sonic/error.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/favicon.ico b/libresonic-main/src/main/webapp/icons/sonic/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/favicon.ico
rename to libresonic-main/src/main/webapp/icons/sonic/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/sonic/forward.png b/libresonic-main/src/main/webapp/icons/sonic/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/forward.png
rename to libresonic-main/src/main/webapp/icons/sonic/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/help.png b/libresonic-main/src/main/webapp/icons/sonic/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/help.png
rename to libresonic-main/src/main/webapp/icons/sonic/help.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/help_small.png b/libresonic-main/src/main/webapp/icons/sonic/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/help_small.png
rename to libresonic-main/src/main/webapp/icons/sonic/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/home.png b/libresonic-main/src/main/webapp/icons/sonic/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/home.png
rename to libresonic-main/src/main/webapp/icons/sonic/home.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/log.png b/libresonic-main/src/main/webapp/icons/sonic/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/log.png
rename to libresonic-main/src/main/webapp/icons/sonic/log.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/logo.png b/libresonic-main/src/main/webapp/icons/sonic/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/logo.png
rename to libresonic-main/src/main/webapp/icons/sonic/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/more.png b/libresonic-main/src/main/webapp/icons/sonic/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/more.png
rename to libresonic-main/src/main/webapp/icons/sonic/more.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/now_playing.png b/libresonic-main/src/main/webapp/icons/sonic/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/now_playing.png
rename to libresonic-main/src/main/webapp/icons/sonic/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/paypal.gif b/libresonic-main/src/main/webapp/icons/sonic/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/paypal.gif
rename to libresonic-main/src/main/webapp/icons/sonic/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/sonic/phone.png b/libresonic-main/src/main/webapp/icons/sonic/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/phone.png
rename to libresonic-main/src/main/webapp/icons/sonic/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/play.png b/libresonic-main/src/main/webapp/icons/sonic/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/play.png
rename to libresonic-main/src/main/webapp/icons/sonic/play.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/playing.png b/libresonic-main/src/main/webapp/icons/sonic/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/playing.png
rename to libresonic-main/src/main/webapp/icons/sonic/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/podcast.png b/libresonic-main/src/main/webapp/icons/sonic/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/podcast.png
rename to libresonic-main/src/main/webapp/icons/sonic/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/podcast_small.png b/libresonic-main/src/main/webapp/icons/sonic/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/sonic/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/progress.png b/libresonic-main/src/main/webapp/icons/sonic/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/progress.png
rename to libresonic-main/src/main/webapp/icons/sonic/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/random.png b/libresonic-main/src/main/webapp/icons/sonic/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/random.png
rename to libresonic-main/src/main/webapp/icons/sonic/random.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/rating_half.png b/libresonic-main/src/main/webapp/icons/sonic/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/rating_half.png
rename to libresonic-main/src/main/webapp/icons/sonic/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/rating_off.png b/libresonic-main/src/main/webapp/icons/sonic/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/rating_off.png
rename to libresonic-main/src/main/webapp/icons/sonic/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/rating_on.png b/libresonic-main/src/main/webapp/icons/sonic/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/rating_on.png
rename to libresonic-main/src/main/webapp/icons/sonic/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/remove.png b/libresonic-main/src/main/webapp/icons/sonic/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/remove.png
rename to libresonic-main/src/main/webapp/icons/sonic/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/search.png b/libresonic-main/src/main/webapp/icons/sonic/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/search.png
rename to libresonic-main/src/main/webapp/icons/sonic/search.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/settings.png b/libresonic-main/src/main/webapp/icons/sonic/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/settings.png
rename to libresonic-main/src/main/webapp/icons/sonic/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/status.png b/libresonic-main/src/main/webapp/icons/sonic/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/status.png
rename to libresonic-main/src/main/webapp/icons/sonic/status.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/up.png b/libresonic-main/src/main/webapp/icons/sonic/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/up.png
rename to libresonic-main/src/main/webapp/icons/sonic/up.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic/upload.png b/libresonic-main/src/main/webapp/icons/sonic/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic/upload.png
rename to libresonic-main/src/main/webapp/icons/sonic/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/add.png b/libresonic-main/src/main/webapp/icons/sonic_blue/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/add.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/add.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/back.png b/libresonic-main/src/main/webapp/icons/sonic_blue/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/back.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/back.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/clear_rating.png b/libresonic-main/src/main/webapp/icons/sonic_blue/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/donate.png b/libresonic-main/src/main/webapp/icons/sonic_blue/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/donate.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/down.png b/libresonic-main/src/main/webapp/icons/sonic_blue/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/down.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/down.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/download.png b/libresonic-main/src/main/webapp/icons/sonic_blue/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/download.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/download.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/error.png b/libresonic-main/src/main/webapp/icons/sonic_blue/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/error.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/error.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/favicon.ico b/libresonic-main/src/main/webapp/icons/sonic_blue/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/favicon.ico
rename to libresonic-main/src/main/webapp/icons/sonic_blue/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/forward.png b/libresonic-main/src/main/webapp/icons/sonic_blue/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/forward.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/help.png b/libresonic-main/src/main/webapp/icons/sonic_blue/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/help.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/help.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/help_small.png b/libresonic-main/src/main/webapp/icons/sonic_blue/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/help_small.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/home.png b/libresonic-main/src/main/webapp/icons/sonic_blue/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/home.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/home.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/log.png b/libresonic-main/src/main/webapp/icons/sonic_blue/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/log.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/log.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/logo_light.png b/libresonic-main/src/main/webapp/icons/sonic_blue/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/logo_light.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/more.png b/libresonic-main/src/main/webapp/icons/sonic_blue/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/more.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/more.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/now_playing.png b/libresonic-main/src/main/webapp/icons/sonic_blue/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/now_playing.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/paypal.gif b/libresonic-main/src/main/webapp/icons/sonic_blue/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/paypal.gif
rename to libresonic-main/src/main/webapp/icons/sonic_blue/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/phone.png b/libresonic-main/src/main/webapp/icons/sonic_blue/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/phone.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/play.png b/libresonic-main/src/main/webapp/icons/sonic_blue/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/play.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/play.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/playing.png b/libresonic-main/src/main/webapp/icons/sonic_blue/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/playing.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/podcast.png b/libresonic-main/src/main/webapp/icons/sonic_blue/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/podcast.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/podcast_small.png b/libresonic-main/src/main/webapp/icons/sonic_blue/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/progress.png b/libresonic-main/src/main/webapp/icons/sonic_blue/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/progress.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/random.png b/libresonic-main/src/main/webapp/icons/sonic_blue/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/random.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/random.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/rating_half.png b/libresonic-main/src/main/webapp/icons/sonic_blue/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/rating_half.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/rating_off.png b/libresonic-main/src/main/webapp/icons/sonic_blue/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/rating_off.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/rating_on.png b/libresonic-main/src/main/webapp/icons/sonic_blue/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/rating_on.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/remove.png b/libresonic-main/src/main/webapp/icons/sonic_blue/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/remove.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/search.png b/libresonic-main/src/main/webapp/icons/sonic_blue/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/search.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/search.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/settings.png b/libresonic-main/src/main/webapp/icons/sonic_blue/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/settings.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/status.png b/libresonic-main/src/main/webapp/icons/sonic_blue/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/status.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/status.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/up.png b/libresonic-main/src/main/webapp/icons/sonic_blue/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/up.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/up.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_blue/upload.png b/libresonic-main/src/main/webapp/icons/sonic_blue/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_blue/upload.png
rename to libresonic-main/src/main/webapp/icons/sonic_blue/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/add.png b/libresonic-main/src/main/webapp/icons/sonic_white/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/add.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/add.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/back.png b/libresonic-main/src/main/webapp/icons/sonic_white/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/back.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/back.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/clear_rating.png b/libresonic-main/src/main/webapp/icons/sonic_white/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/donate.png b/libresonic-main/src/main/webapp/icons/sonic_white/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/donate.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/down.png b/libresonic-main/src/main/webapp/icons/sonic_white/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/down.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/down.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/download.png b/libresonic-main/src/main/webapp/icons/sonic_white/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/download.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/download.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/error.png b/libresonic-main/src/main/webapp/icons/sonic_white/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/error.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/error.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/favicon.ico b/libresonic-main/src/main/webapp/icons/sonic_white/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/favicon.ico
rename to libresonic-main/src/main/webapp/icons/sonic_white/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/forward.png b/libresonic-main/src/main/webapp/icons/sonic_white/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/forward.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/help.png b/libresonic-main/src/main/webapp/icons/sonic_white/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/help.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/help.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/help_small.png b/libresonic-main/src/main/webapp/icons/sonic_white/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/help_small.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/home.png b/libresonic-main/src/main/webapp/icons/sonic_white/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/home.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/home.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/log.png b/libresonic-main/src/main/webapp/icons/sonic_white/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/log.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/log.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/logo.png b/libresonic-main/src/main/webapp/icons/sonic_white/logo.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/logo.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/logo.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/more.png b/libresonic-main/src/main/webapp/icons/sonic_white/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/more.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/more.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/now_playing.png b/libresonic-main/src/main/webapp/icons/sonic_white/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/now_playing.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/paypal.gif b/libresonic-main/src/main/webapp/icons/sonic_white/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/paypal.gif
rename to libresonic-main/src/main/webapp/icons/sonic_white/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/phone.png b/libresonic-main/src/main/webapp/icons/sonic_white/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/phone.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/play.png b/libresonic-main/src/main/webapp/icons/sonic_white/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/play.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/play.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/playing.png b/libresonic-main/src/main/webapp/icons/sonic_white/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/playing.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/podcast.png b/libresonic-main/src/main/webapp/icons/sonic_white/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/podcast.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/podcast_small.png b/libresonic-main/src/main/webapp/icons/sonic_white/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/progress.png b/libresonic-main/src/main/webapp/icons/sonic_white/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/progress.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/random.png b/libresonic-main/src/main/webapp/icons/sonic_white/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/random.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/random.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/rating_half.png b/libresonic-main/src/main/webapp/icons/sonic_white/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/rating_half.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/rating_off.png b/libresonic-main/src/main/webapp/icons/sonic_white/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/rating_off.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/rating_on.png b/libresonic-main/src/main/webapp/icons/sonic_white/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/rating_on.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/remove.png b/libresonic-main/src/main/webapp/icons/sonic_white/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/remove.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/search.png b/libresonic-main/src/main/webapp/icons/sonic_white/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/search.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/search.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/settings.png b/libresonic-main/src/main/webapp/icons/sonic_white/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/settings.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/status.png b/libresonic-main/src/main/webapp/icons/sonic_white/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/status.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/status.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/up.png b/libresonic-main/src/main/webapp/icons/sonic_white/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/up.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/up.png
diff --git a/subsonic-main/src/main/webapp/icons/sonic_white/upload.png b/libresonic-main/src/main/webapp/icons/sonic_white/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/sonic_white/upload.png
rename to libresonic-main/src/main/webapp/icons/sonic_white/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/add.png b/libresonic-main/src/main/webapp/icons/subStandard/add.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/add.png
rename to libresonic-main/src/main/webapp/icons/subStandard/add.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/android.png b/libresonic-main/src/main/webapp/icons/subStandard/android.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/android.png
rename to libresonic-main/src/main/webapp/icons/subStandard/android.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/back.png b/libresonic-main/src/main/webapp/icons/subStandard/back.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/back.png
rename to libresonic-main/src/main/webapp/icons/subStandard/back.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/background_main.png b/libresonic-main/src/main/webapp/icons/subStandard/background_main.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/background_main.png
rename to libresonic-main/src/main/webapp/icons/subStandard/background_main.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/clear_rating.png b/libresonic-main/src/main/webapp/icons/subStandard/clear_rating.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/clear_rating.png
rename to libresonic-main/src/main/webapp/icons/subStandard/clear_rating.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/donate.png b/libresonic-main/src/main/webapp/icons/subStandard/donate.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/donate.png
rename to libresonic-main/src/main/webapp/icons/subStandard/donate.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/donate_small.png b/libresonic-main/src/main/webapp/icons/subStandard/donate_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/donate_small.png
rename to libresonic-main/src/main/webapp/icons/subStandard/donate_small.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/down.png b/libresonic-main/src/main/webapp/icons/subStandard/down.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/down.png
rename to libresonic-main/src/main/webapp/icons/subStandard/down.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/download.png b/libresonic-main/src/main/webapp/icons/subStandard/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/download.png
rename to libresonic-main/src/main/webapp/icons/subStandard/download.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/error.png b/libresonic-main/src/main/webapp/icons/subStandard/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/error.png
rename to libresonic-main/src/main/webapp/icons/subStandard/error.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/facebook.png b/libresonic-main/src/main/webapp/icons/subStandard/facebook.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/facebook.png
rename to libresonic-main/src/main/webapp/icons/subStandard/facebook.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/favicon.ico b/libresonic-main/src/main/webapp/icons/subStandard/favicon.ico
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/favicon.ico
rename to libresonic-main/src/main/webapp/icons/subStandard/favicon.ico
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/forward.png b/libresonic-main/src/main/webapp/icons/subStandard/forward.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/forward.png
rename to libresonic-main/src/main/webapp/icons/subStandard/forward.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/googleplus.png b/libresonic-main/src/main/webapp/icons/subStandard/googleplus.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/googleplus.png
rename to libresonic-main/src/main/webapp/icons/subStandard/googleplus.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/help.png b/libresonic-main/src/main/webapp/icons/subStandard/help.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/help.png
rename to libresonic-main/src/main/webapp/icons/subStandard/help.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/help_small.png b/libresonic-main/src/main/webapp/icons/subStandard/help_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/help_small.png
rename to libresonic-main/src/main/webapp/icons/subStandard/help_small.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/home.png b/libresonic-main/src/main/webapp/icons/subStandard/home.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/home.png
rename to libresonic-main/src/main/webapp/icons/subStandard/home.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/log.png b/libresonic-main/src/main/webapp/icons/subStandard/log.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/log.png
rename to libresonic-main/src/main/webapp/icons/subStandard/log.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/logo_light.png b/libresonic-main/src/main/webapp/icons/subStandard/logo_light.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/logo_light.png
rename to libresonic-main/src/main/webapp/icons/subStandard/logo_light.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/more.png b/libresonic-main/src/main/webapp/icons/subStandard/more.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/more.png
rename to libresonic-main/src/main/webapp/icons/subStandard/more.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/now_playing.png b/libresonic-main/src/main/webapp/icons/subStandard/now_playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/now_playing.png
rename to libresonic-main/src/main/webapp/icons/subStandard/now_playing.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/paypal.gif b/libresonic-main/src/main/webapp/icons/subStandard/paypal.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/paypal.gif
rename to libresonic-main/src/main/webapp/icons/subStandard/paypal.gif
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/phone.png b/libresonic-main/src/main/webapp/icons/subStandard/phone.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/phone.png
rename to libresonic-main/src/main/webapp/icons/subStandard/phone.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/play.png b/libresonic-main/src/main/webapp/icons/subStandard/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/play.png
rename to libresonic-main/src/main/webapp/icons/subStandard/play.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/playing.png b/libresonic-main/src/main/webapp/icons/subStandard/playing.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/playing.png
rename to libresonic-main/src/main/webapp/icons/subStandard/playing.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/podcast.png b/libresonic-main/src/main/webapp/icons/subStandard/podcast.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/podcast.png
rename to libresonic-main/src/main/webapp/icons/subStandard/podcast.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/podcast_small.png b/libresonic-main/src/main/webapp/icons/subStandard/podcast_small.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/podcast_small.png
rename to libresonic-main/src/main/webapp/icons/subStandard/podcast_small.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/progress.png b/libresonic-main/src/main/webapp/icons/subStandard/progress.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/progress.png
rename to libresonic-main/src/main/webapp/icons/subStandard/progress.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/random.png b/libresonic-main/src/main/webapp/icons/subStandard/random.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/random.png
rename to libresonic-main/src/main/webapp/icons/subStandard/random.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/rating_half.png b/libresonic-main/src/main/webapp/icons/subStandard/rating_half.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/rating_half.png
rename to libresonic-main/src/main/webapp/icons/subStandard/rating_half.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/rating_off.png b/libresonic-main/src/main/webapp/icons/subStandard/rating_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/rating_off.png
rename to libresonic-main/src/main/webapp/icons/subStandard/rating_off.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/rating_on.png b/libresonic-main/src/main/webapp/icons/subStandard/rating_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/rating_on.png
rename to libresonic-main/src/main/webapp/icons/subStandard/rating_on.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/remove.png b/libresonic-main/src/main/webapp/icons/subStandard/remove.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/remove.png
rename to libresonic-main/src/main/webapp/icons/subStandard/remove.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/search.png b/libresonic-main/src/main/webapp/icons/subStandard/search.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/search.png
rename to libresonic-main/src/main/webapp/icons/subStandard/search.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/settings.png b/libresonic-main/src/main/webapp/icons/subStandard/settings.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/settings.png
rename to libresonic-main/src/main/webapp/icons/subStandard/settings.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/starred.png b/libresonic-main/src/main/webapp/icons/subStandard/starred.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/starred.png
rename to libresonic-main/src/main/webapp/icons/subStandard/starred.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/status.png b/libresonic-main/src/main/webapp/icons/subStandard/status.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/status.png
rename to libresonic-main/src/main/webapp/icons/subStandard/status.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/twitter.png b/libresonic-main/src/main/webapp/icons/subStandard/twitter.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/twitter.png
rename to libresonic-main/src/main/webapp/icons/subStandard/twitter.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/up.png b/libresonic-main/src/main/webapp/icons/subStandard/up.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/up.png
rename to libresonic-main/src/main/webapp/icons/subStandard/up.png
diff --git a/subsonic-main/src/main/webapp/icons/subStandard/upload.png b/libresonic-main/src/main/webapp/icons/subStandard/upload.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/subStandard/upload.png
rename to libresonic-main/src/main/webapp/icons/subStandard/upload.png
diff --git a/subsonic-main/src/main/webapp/icons/video/audio_off.png b/libresonic-main/src/main/webapp/icons/video/audio_off.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/audio_off.png
rename to libresonic-main/src/main/webapp/icons/video/audio_off.png
diff --git a/subsonic-main/src/main/webapp/icons/video/audio_on.png b/libresonic-main/src/main/webapp/icons/video/audio_on.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/audio_on.png
rename to libresonic-main/src/main/webapp/icons/video/audio_on.png
diff --git a/subsonic-main/src/main/webapp/icons/video/cast_active.png b/libresonic-main/src/main/webapp/icons/video/cast_active.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/cast_active.png
rename to libresonic-main/src/main/webapp/icons/video/cast_active.png
diff --git a/subsonic-main/src/main/webapp/icons/video/cast_idle.png b/libresonic-main/src/main/webapp/icons/video/cast_idle.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/cast_idle.png
rename to libresonic-main/src/main/webapp/icons/video/cast_idle.png
diff --git a/subsonic-main/src/main/webapp/icons/video/download.png b/libresonic-main/src/main/webapp/icons/video/download.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/download.png
rename to libresonic-main/src/main/webapp/icons/video/download.png
diff --git a/subsonic-main/src/main/webapp/icons/video/pause.png b/libresonic-main/src/main/webapp/icons/video/pause.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/pause.png
rename to libresonic-main/src/main/webapp/icons/video/pause.png
diff --git a/subsonic-main/src/main/webapp/icons/video/play.png b/libresonic-main/src/main/webapp/icons/video/play.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/play.png
rename to libresonic-main/src/main/webapp/icons/video/play.png
diff --git a/subsonic-main/src/main/webapp/icons/video/share.png b/libresonic-main/src/main/webapp/icons/video/share.png
similarity index 100%
rename from subsonic-main/src/main/webapp/icons/video/share.png
rename to libresonic-main/src/main/webapp/icons/video/share.png
diff --git a/subsonic-main/src/main/webapp/index.html b/libresonic-main/src/main/webapp/index.html
similarity index 100%
rename from subsonic-main/src/main/webapp/index.html
rename to libresonic-main/src/main/webapp/index.html
diff --git a/subsonic-main/src/main/webapp/index.jsp b/libresonic-main/src/main/webapp/index.jsp
similarity index 100%
rename from subsonic-main/src/main/webapp/index.jsp
rename to libresonic-main/src/main/webapp/index.jsp
diff --git a/subsonic-main/src/main/webapp/script/AC_OETags.js b/libresonic-main/src/main/webapp/script/AC_OETags.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/AC_OETags.js
rename to libresonic-main/src/main/webapp/script/AC_OETags.js
diff --git a/subsonic-main/src/main/webapp/script/builder.js b/libresonic-main/src/main/webapp/script/builder.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/builder.js
rename to libresonic-main/src/main/webapp/script/builder.js
diff --git a/subsonic-main/src/main/webapp/script/cast_sender-v1.js b/libresonic-main/src/main/webapp/script/cast_sender-v1.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/cast_sender-v1.js
rename to libresonic-main/src/main/webapp/script/cast_sender-v1.js
diff --git a/subsonic-main/src/main/webapp/script/controls.js b/libresonic-main/src/main/webapp/script/controls.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/controls.js
rename to libresonic-main/src/main/webapp/script/controls.js
diff --git a/subsonic-main/src/main/webapp/script/effects.js b/libresonic-main/src/main/webapp/script/effects.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/effects.js
rename to libresonic-main/src/main/webapp/script/effects.js
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/FancyZoom.js b/libresonic-main/src/main/webapp/script/fancyzoom/FancyZoom.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/FancyZoom.js
rename to libresonic-main/src/main/webapp/script/fancyzoom/FancyZoom.js
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/FancyZoomHTML.js b/libresonic-main/src/main/webapp/script/fancyzoom/FancyZoomHTML.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/FancyZoomHTML.js
rename to libresonic-main/src/main/webapp/script/fancyzoom/FancyZoomHTML.js
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/closebox.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/closebox.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/closebox.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/closebox.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/spacer.gif b/libresonic-main/src/main/webapp/script/fancyzoom/images/spacer.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/spacer.gif
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/spacer.gif
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-fill.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-fill.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-fill.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-fill.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-l.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-l.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-l.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-l.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-r.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-r.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-r.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-caption-r.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow1.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow1.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow1.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow1.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow2.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow2.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow2.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow2.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow3.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow3.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow3.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow3.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow4.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow4.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow4.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow4.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow5.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow5.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow5.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow5.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow6.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow6.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow6.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow6.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow7.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow7.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow7.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow7.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow8.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow8.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow8.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-shadow8.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-1.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-1.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-1.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-1.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-10.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-10.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-10.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-10.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-11.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-11.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-11.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-11.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-12.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-12.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-12.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-12.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-2.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-2.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-2.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-2.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-3.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-3.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-3.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-3.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-4.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-4.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-4.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-4.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-5.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-5.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-5.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-5.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-6.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-6.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-6.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-6.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-7.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-7.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-7.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-7.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-8.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-8.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-8.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-8.png
diff --git a/subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-9.png b/libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-9.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-9.png
rename to libresonic-main/src/main/webapp/script/fancyzoom/images/zoom-spin-9.png
diff --git a/subsonic-main/src/main/webapp/script/jquery-1.7.1.min.js b/libresonic-main/src/main/webapp/script/jquery-1.7.1.min.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery-1.7.1.min.js
rename to libresonic-main/src/main/webapp/script/jquery-1.7.1.min.js
diff --git a/subsonic-main/src/main/webapp/script/jquery-ui-1.11.1.min.js b/libresonic-main/src/main/webapp/script/jquery-ui-1.11.1.min.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery-ui-1.11.1.min.js
rename to libresonic-main/src/main/webapp/script/jquery-ui-1.11.1.min.js
diff --git a/subsonic-main/src/main/webapp/script/jquery.contextMenu.js b/libresonic-main/src/main/webapp/script/jquery.contextMenu.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.contextMenu.js
rename to libresonic-main/src/main/webapp/script/jquery.contextMenu.js
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/css/jquery.toastmessage.css b/libresonic-main/src/main/webapp/script/jquery.toastmessage/css/jquery.toastmessage.css
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/css/jquery.toastmessage.css
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/css/jquery.toastmessage.css
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/images/close.gif b/libresonic-main/src/main/webapp/script/jquery.toastmessage/images/close.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/images/close.gif
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/images/close.gif
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/images/error.png b/libresonic-main/src/main/webapp/script/jquery.toastmessage/images/error.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/images/error.png
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/images/error.png
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/images/notice.png b/libresonic-main/src/main/webapp/script/jquery.toastmessage/images/notice.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/images/notice.png
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/images/notice.png
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/images/success.png b/libresonic-main/src/main/webapp/script/jquery.toastmessage/images/success.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/images/success.png
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/images/success.png
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/images/warning.png b/libresonic-main/src/main/webapp/script/jquery.toastmessage/images/warning.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/images/warning.png
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/images/warning.png
diff --git a/subsonic-main/src/main/webapp/script/jquery.toastmessage/jquery.toastmessage.js b/libresonic-main/src/main/webapp/script/jquery.toastmessage/jquery.toastmessage.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jquery.toastmessage/jquery.toastmessage.js
rename to libresonic-main/src/main/webapp/script/jquery.toastmessage/jquery.toastmessage.js
diff --git a/subsonic-main/src/main/webapp/script/jwplayer-5.10.min.js b/libresonic-main/src/main/webapp/script/jwplayer-5.10.min.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/jwplayer-5.10.min.js
rename to libresonic-main/src/main/webapp/script/jwplayer-5.10.min.js
diff --git a/subsonic-main/src/main/webapp/script/pngfix.js b/libresonic-main/src/main/webapp/script/pngfix.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/pngfix.js
rename to libresonic-main/src/main/webapp/script/pngfix.js
diff --git a/subsonic-main/src/main/webapp/script/prototype.js b/libresonic-main/src/main/webapp/script/prototype.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/prototype.js
rename to libresonic-main/src/main/webapp/script/prototype.js
diff --git a/subsonic-main/src/main/webapp/script/scripts-2.0.js b/libresonic-main/src/main/webapp/script/scripts-2.0.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/scripts-2.0.js
rename to libresonic-main/src/main/webapp/script/scripts-2.0.js
diff --git a/subsonic-main/src/main/webapp/script/swfobject.js b/libresonic-main/src/main/webapp/script/swfobject.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/swfobject.js
rename to libresonic-main/src/main/webapp/script/swfobject.js
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon.js b/libresonic-main/src/main/webapp/script/tip_balloon.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon.js
rename to libresonic-main/src/main/webapp/script/tip_balloon.js
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/b.gif b/libresonic-main/src/main/webapp/script/tip_balloon/b.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/b.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/b.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/background.gif b/libresonic-main/src/main/webapp/script/tip_balloon/background.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/background.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/background.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/l.gif b/libresonic-main/src/main/webapp/script/tip_balloon/l.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/l.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/l.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/lb.gif b/libresonic-main/src/main/webapp/script/tip_balloon/lb.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/lb.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/lb.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/lt.gif b/libresonic-main/src/main/webapp/script/tip_balloon/lt.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/lt.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/lt.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/r.gif b/libresonic-main/src/main/webapp/script/tip_balloon/r.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/r.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/r.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/rb.gif b/libresonic-main/src/main/webapp/script/tip_balloon/rb.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/rb.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/rb.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/rt.gif b/libresonic-main/src/main/webapp/script/tip_balloon/rt.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/rt.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/rt.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/stemb.gif b/libresonic-main/src/main/webapp/script/tip_balloon/stemb.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/stemb.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/stemb.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/stemt.gif b/libresonic-main/src/main/webapp/script/tip_balloon/stemt.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/stemt.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/stemt.gif
diff --git a/subsonic-main/src/main/webapp/script/tip_balloon/t.gif b/libresonic-main/src/main/webapp/script/tip_balloon/t.gif
similarity index 100%
rename from subsonic-main/src/main/webapp/script/tip_balloon/t.gif
rename to libresonic-main/src/main/webapp/script/tip_balloon/t.gif
diff --git a/subsonic-main/src/main/webapp/script/webfx/boxsizing.htc b/libresonic-main/src/main/webapp/script/webfx/boxsizing.htc
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/boxsizing.htc
rename to libresonic-main/src/main/webapp/script/webfx/boxsizing.htc
diff --git a/subsonic-main/src/main/webapp/script/webfx/handle.horizontal.hover.png b/libresonic-main/src/main/webapp/script/webfx/handle.horizontal.hover.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/handle.horizontal.hover.png
rename to libresonic-main/src/main/webapp/script/webfx/handle.horizontal.hover.png
diff --git a/subsonic-main/src/main/webapp/script/webfx/handle.horizontal.png b/libresonic-main/src/main/webapp/script/webfx/handle.horizontal.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/handle.horizontal.png
rename to libresonic-main/src/main/webapp/script/webfx/handle.horizontal.png
diff --git a/subsonic-main/src/main/webapp/script/webfx/handle.vertical.hover.png b/libresonic-main/src/main/webapp/script/webfx/handle.vertical.hover.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/handle.vertical.hover.png
rename to libresonic-main/src/main/webapp/script/webfx/handle.vertical.hover.png
diff --git a/subsonic-main/src/main/webapp/script/webfx/handle.vertical.png b/libresonic-main/src/main/webapp/script/webfx/handle.vertical.png
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/handle.vertical.png
rename to libresonic-main/src/main/webapp/script/webfx/handle.vertical.png
diff --git a/subsonic-main/src/main/webapp/script/webfx/luna.css b/libresonic-main/src/main/webapp/script/webfx/luna.css
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/luna.css
rename to libresonic-main/src/main/webapp/script/webfx/luna.css
diff --git a/subsonic-main/src/main/webapp/script/webfx/range.js b/libresonic-main/src/main/webapp/script/webfx/range.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/range.js
rename to libresonic-main/src/main/webapp/script/webfx/range.js
diff --git a/subsonic-main/src/main/webapp/script/webfx/slider.js b/libresonic-main/src/main/webapp/script/webfx/slider.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/slider.js
rename to libresonic-main/src/main/webapp/script/webfx/slider.js
diff --git a/subsonic-main/src/main/webapp/script/webfx/timer.js b/libresonic-main/src/main/webapp/script/webfx/timer.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/webfx/timer.js
rename to libresonic-main/src/main/webapp/script/webfx/timer.js
diff --git a/subsonic-main/src/main/webapp/script/wz_tooltip.js b/libresonic-main/src/main/webapp/script/wz_tooltip.js
similarity index 100%
rename from subsonic-main/src/main/webapp/script/wz_tooltip.js
rename to libresonic-main/src/main/webapp/script/wz_tooltip.js
diff --git a/subsonic-main/src/main/webapp/sonos/presentationMap.xml b/libresonic-main/src/main/webapp/sonos/presentationMap.xml
similarity index 100%
rename from subsonic-main/src/main/webapp/sonos/presentationMap.xml
rename to libresonic-main/src/main/webapp/sonos/presentationMap.xml
diff --git a/subsonic-main/src/main/webapp/sonos/presentationMap.xsd b/libresonic-main/src/main/webapp/sonos/presentationMap.xsd
similarity index 100%
rename from subsonic-main/src/main/webapp/sonos/presentationMap.xsd
rename to libresonic-main/src/main/webapp/sonos/presentationMap.xsd
diff --git a/subsonic-main/src/main/webapp/sonos/strings.xml b/libresonic-main/src/main/webapp/sonos/strings.xml
similarity index 60%
rename from subsonic-main/src/main/webapp/sonos/strings.xml
rename to libresonic-main/src/main/webapp/sonos/strings.xml
index aa3ca339..78913cfa 100644
--- a/subsonic-main/src/main/webapp/sonos/strings.xml
+++ b/libresonic-main/src/main/webapp/sonos/strings.xml
@@ -2,8 +2,8 @@
- Stream music from your own Subsonic server. Please log on with an existing Subsonic account. Requires Subsonic Premium.
- Sorry, wrong Subsonic username or password.
+ Stream music from your own Libresonic server. Please log on with an existing Libresonic account. Requires Subsonic Premium.
+ Sorry, wrong Libresonic username or password.Please upgrade to Subsonic Premium to continue to use this service.
diff --git a/subsonic-main/src/main/webapp/style/barents.css b/libresonic-main/src/main/webapp/style/barents.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/barents.css
rename to libresonic-main/src/main/webapp/style/barents.css
diff --git a/subsonic-main/src/main/webapp/style/black.css b/libresonic-main/src/main/webapp/style/black.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/black.css
rename to libresonic-main/src/main/webapp/style/black.css
diff --git a/subsonic-main/src/main/webapp/style/buuftheme.css b/libresonic-main/src/main/webapp/style/buuftheme.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/buuftheme.css
rename to libresonic-main/src/main/webapp/style/buuftheme.css
diff --git a/subsonic-main/src/main/webapp/style/coolandclean.css b/libresonic-main/src/main/webapp/style/coolandclean.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/coolandclean.css
rename to libresonic-main/src/main/webapp/style/coolandclean.css
diff --git a/subsonic-main/src/main/webapp/style/default.css b/libresonic-main/src/main/webapp/style/default.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/default.css
rename to libresonic-main/src/main/webapp/style/default.css
diff --git a/subsonic-main/src/main/webapp/style/denim.css b/libresonic-main/src/main/webapp/style/denim.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/denim.css
rename to libresonic-main/src/main/webapp/style/denim.css
diff --git a/subsonic-main/src/main/webapp/style/groove.css b/libresonic-main/src/main/webapp/style/groove.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/groove.css
rename to libresonic-main/src/main/webapp/style/groove.css
diff --git a/subsonic-main/src/main/webapp/style/groove_simple.css b/libresonic-main/src/main/webapp/style/groove_simple.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/groove_simple.css
rename to libresonic-main/src/main/webapp/style/groove_simple.css
diff --git a/subsonic-main/src/main/webapp/style/hd.css b/libresonic-main/src/main/webapp/style/hd.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hd.css
rename to libresonic-main/src/main/webapp/style/hd.css
diff --git a/subsonic-main/src/main/webapp/style/hd1080.css b/libresonic-main/src/main/webapp/style/hd1080.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hd1080.css
rename to libresonic-main/src/main/webapp/style/hd1080.css
diff --git a/subsonic-main/src/main/webapp/style/hd720.css b/libresonic-main/src/main/webapp/style/hd720.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hd720.css
rename to libresonic-main/src/main/webapp/style/hd720.css
diff --git a/subsonic-main/src/main/webapp/style/hd768.css b/libresonic-main/src/main/webapp/style/hd768.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hd768.css
rename to libresonic-main/src/main/webapp/style/hd768.css
diff --git a/subsonic-main/src/main/webapp/style/hicon.css b/libresonic-main/src/main/webapp/style/hicon.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hicon.css
rename to libresonic-main/src/main/webapp/style/hicon.css
diff --git a/subsonic-main/src/main/webapp/style/hiconi.css b/libresonic-main/src/main/webapp/style/hiconi.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hiconi.css
rename to libresonic-main/src/main/webapp/style/hiconi.css
diff --git a/subsonic-main/src/main/webapp/style/hitech.css b/libresonic-main/src/main/webapp/style/hitech.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/hitech.css
rename to libresonic-main/src/main/webapp/style/hitech.css
diff --git a/subsonic-main/src/main/webapp/style/jquery.contextMenu.css b/libresonic-main/src/main/webapp/style/jquery.contextMenu.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/jquery.contextMenu.css
rename to libresonic-main/src/main/webapp/style/jquery.contextMenu.css
diff --git a/subsonic-main/src/main/webapp/style/midnight.css b/libresonic-main/src/main/webapp/style/midnight.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/midnight.css
rename to libresonic-main/src/main/webapp/style/midnight.css
diff --git a/subsonic-main/src/main/webapp/style/midnightfun.css b/libresonic-main/src/main/webapp/style/midnightfun.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/midnightfun.css
rename to libresonic-main/src/main/webapp/style/midnightfun.css
diff --git a/subsonic-main/src/main/webapp/style/monochrome.css b/libresonic-main/src/main/webapp/style/monochrome.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/monochrome.css
rename to libresonic-main/src/main/webapp/style/monochrome.css
diff --git a/subsonic-main/src/main/webapp/style/monochrome_black.css b/libresonic-main/src/main/webapp/style/monochrome_black.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/monochrome_black.css
rename to libresonic-main/src/main/webapp/style/monochrome_black.css
diff --git a/subsonic-main/src/main/webapp/style/pinkpanther.css b/libresonic-main/src/main/webapp/style/pinkpanther.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/pinkpanther.css
rename to libresonic-main/src/main/webapp/style/pinkpanther.css
diff --git a/subsonic-main/src/main/webapp/style/ripserver.css b/libresonic-main/src/main/webapp/style/ripserver.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/ripserver.css
rename to libresonic-main/src/main/webapp/style/ripserver.css
diff --git a/subsonic-main/src/main/webapp/style/sandstorm.css b/libresonic-main/src/main/webapp/style/sandstorm.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/sandstorm.css
rename to libresonic-main/src/main/webapp/style/sandstorm.css
diff --git a/subsonic-main/src/main/webapp/style/simplify.css b/libresonic-main/src/main/webapp/style/simplify.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/simplify.css
rename to libresonic-main/src/main/webapp/style/simplify.css
diff --git a/subsonic-main/src/main/webapp/style/slick.css b/libresonic-main/src/main/webapp/style/slick.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/slick.css
rename to libresonic-main/src/main/webapp/style/slick.css
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_dadada_1x400.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_dadada_1x400.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_dadada_1x400.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_222222_256x240.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_222222_256x240.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_222222_256x240.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_222222_256x240.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_2e83ff_256x240.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_2e83ff_256x240.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_2e83ff_256x240.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_2e83ff_256x240.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_454545_256x240.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_454545_256x240.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_454545_256x240.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_454545_256x240.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_888888_256x240.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_888888_256x240.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_888888_256x240.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_888888_256x240.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_cd0a0a_256x240.png b/libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_cd0a0a_256x240.png
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/images/ui-icons_cd0a0a_256x240.png
rename to libresonic-main/src/main/webapp/style/smoothness/images/ui-icons_cd0a0a_256x240.png
diff --git a/subsonic-main/src/main/webapp/style/smoothness/jquery-ui-1.8.18.custom.css b/libresonic-main/src/main/webapp/style/smoothness/jquery-ui-1.8.18.custom.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/smoothness/jquery-ui-1.8.18.custom.css
rename to libresonic-main/src/main/webapp/style/smoothness/jquery-ui-1.8.18.custom.css
diff --git a/subsonic-main/src/main/webapp/style/sonic.css b/libresonic-main/src/main/webapp/style/sonic.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/sonic.css
rename to libresonic-main/src/main/webapp/style/sonic.css
diff --git a/subsonic-main/src/main/webapp/style/sonic_blue.css b/libresonic-main/src/main/webapp/style/sonic_blue.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/sonic_blue.css
rename to libresonic-main/src/main/webapp/style/sonic_blue.css
diff --git a/subsonic-main/src/main/webapp/style/sonic_white.css b/libresonic-main/src/main/webapp/style/sonic_white.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/sonic_white.css
rename to libresonic-main/src/main/webapp/style/sonic_white.css
diff --git a/subsonic-main/src/main/webapp/style/subStandard.css b/libresonic-main/src/main/webapp/style/subStandard.css
similarity index 100%
rename from subsonic-main/src/main/webapp/style/subStandard.css
rename to libresonic-main/src/main/webapp/style/subStandard.css
diff --git a/subsonic-main/src/main/webapp/style/videoPlayer.css b/libresonic-main/src/main/webapp/style/videoPlayer.css
similarity index 93%
rename from subsonic-main/src/main/webapp/style/videoPlayer.css
rename to libresonic-main/src/main/webapp/style/videoPlayer.css
index e70aae71..9e6d4db9 100644
--- a/subsonic-main/src/main/webapp/style/videoPlayer.css
+++ b/libresonic-main/src/main/webapp/style/videoPlayer.css
@@ -1,18 +1,18 @@
/*
- * 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 .
+ * along with Libresonic. If not, see .
*
* Copyright 2014 (C) Sindre Mehus
*/
diff --git a/subsonic-main/src/test/java/net/sourceforge/subsonic/MissingTranslations.java b/libresonic-main/src/test/java/org/libresonic/player/MissingTranslations.java
similarity index 87%
rename from subsonic-main/src/test/java/net/sourceforge/subsonic/MissingTranslations.java
rename to libresonic-main/src/test/java/org/libresonic/player/MissingTranslations.java
index 690c4f7d..7c67efc4 100644
--- a/subsonic-main/src/test/java/net/sourceforge/subsonic/MissingTranslations.java
+++ b/libresonic-main/src/test/java/org/libresonic/player/MissingTranslations.java
@@ -1,4 +1,4 @@
-package net.sourceforge.subsonic;
+package org.libresonic.player;
import java.io.IOException;
import java.util.Map;
@@ -19,11 +19,11 @@ public class MissingTranslations {
private static void diff(String locale1, String locale2) throws IOException {
Properties en = new Properties();
- en.load(MissingTranslations.class.getResourceAsStream("/net/sourceforge/subsonic/i18n/ResourceBundle_" + locale1 + ".properties"));
+ en.load(MissingTranslations.class.getResourceAsStream("/org/libresonic/player/i18n/ResourceBundle_" + locale1 + ".properties"));
SortedMap