From 7f10a656a9b92e8b6e9de96deab4ce71b6f62224 Mon Sep 17 00:00:00 2001 From: Rik Veenboer Date: Mon, 8 Aug 2016 20:24:30 +0100 Subject: [PATCH] Move exec.sound subproject to dedicated repository --- java/exec.sound/.gitignore | 3 - java/exec.sound/build.gradle | 14 - .../gradle/wrapper/gradle-wrapper.jar | Bin 53319 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - java/exec.sound/gradlew | 164 -- java/exec.sound/gradlew.bat | 90 -- .../src/main/java/old/Converter.java | 203 --- java/exec.sound/src/main/java/old/List.java | 217 --- java/exec.sound/src/main/java/old/Mp3.java | 96 -- .../src/main/java/old/Transducer.java | 32 - .../exec.sound/src/main/java/pipe/Client.java | 40 - java/exec.sound/src/main/java/pipe/Pipe.java | 72 - .../src/main/java/pipe/TestPipe.java | 103 -- .../src/main/java/sound/Consumer.java | 23 - .../src/main/java/sound/Format.java | 29 - .../src/main/java/sound/Producer.java | 26 - .../src/main/java/sound/Source.java | 177 --- .../src/main/java/sound/consumer/Port.java | 137 -- .../main/java/sound/consumer/Shoutcast.java | 312 ---- .../src/main/java/sound/data/Data.java | 39 - .../src/main/java/sound/producer/Stream.java | 216 --- .../src/main/java/sound/producer/Target.java | 113 -- .../java/sound/stream/HoardedInputStream.java | 92 -- .../src/main/java/sound/util/Buffer.java | 57 - .../src/main/java/sound/util/SoxBuilder.java | 337 ---- .../src/main/java/sound/util/Tool.java | 156 -- .../src/main/java/sound/util/Utils.java | 55 - .../src/main/resources/txt/keuze.txt | 13 - java/exec.sound/src/main/resources/txt/lame | 182 --- java/exec.sound/src/main/resources/txt/mp3 | 1357 ----------------- .../src/main/resources/txt/testfiles.txt | 12 - .../src/test/java/test/SoundAudit.java | 71 - java/exec.sound/src/test/java/test/Test.java | 56 - .../src/test/java/test/lines/Main.java | 50 - .../src/test/java/test/lines/SourceLine.java | 35 - .../src/test/java/test/lines/TargetLine.java | 35 - java/settings.gradle | 1 - 37 files changed, 4621 deletions(-) delete mode 100644 java/exec.sound/.gitignore delete mode 100644 java/exec.sound/build.gradle delete mode 100644 java/exec.sound/gradle/wrapper/gradle-wrapper.jar delete mode 100644 java/exec.sound/gradle/wrapper/gradle-wrapper.properties delete mode 100644 java/exec.sound/gradlew delete mode 100644 java/exec.sound/gradlew.bat delete mode 100644 java/exec.sound/src/main/java/old/Converter.java delete mode 100644 java/exec.sound/src/main/java/old/List.java delete mode 100644 java/exec.sound/src/main/java/old/Mp3.java delete mode 100644 java/exec.sound/src/main/java/old/Transducer.java delete mode 100644 java/exec.sound/src/main/java/pipe/Client.java delete mode 100644 java/exec.sound/src/main/java/pipe/Pipe.java delete mode 100644 java/exec.sound/src/main/java/pipe/TestPipe.java delete mode 100644 java/exec.sound/src/main/java/sound/Consumer.java delete mode 100644 java/exec.sound/src/main/java/sound/Format.java delete mode 100644 java/exec.sound/src/main/java/sound/Producer.java delete mode 100644 java/exec.sound/src/main/java/sound/Source.java delete mode 100644 java/exec.sound/src/main/java/sound/consumer/Port.java delete mode 100644 java/exec.sound/src/main/java/sound/consumer/Shoutcast.java delete mode 100644 java/exec.sound/src/main/java/sound/data/Data.java delete mode 100644 java/exec.sound/src/main/java/sound/producer/Stream.java delete mode 100644 java/exec.sound/src/main/java/sound/producer/Target.java delete mode 100644 java/exec.sound/src/main/java/sound/stream/HoardedInputStream.java delete mode 100644 java/exec.sound/src/main/java/sound/util/Buffer.java delete mode 100644 java/exec.sound/src/main/java/sound/util/SoxBuilder.java delete mode 100644 java/exec.sound/src/main/java/sound/util/Tool.java delete mode 100644 java/exec.sound/src/main/java/sound/util/Utils.java delete mode 100644 java/exec.sound/src/main/resources/txt/keuze.txt delete mode 100644 java/exec.sound/src/main/resources/txt/lame delete mode 100644 java/exec.sound/src/main/resources/txt/mp3 delete mode 100644 java/exec.sound/src/main/resources/txt/testfiles.txt delete mode 100644 java/exec.sound/src/test/java/test/SoundAudit.java delete mode 100644 java/exec.sound/src/test/java/test/Test.java delete mode 100644 java/exec.sound/src/test/java/test/lines/Main.java delete mode 100644 java/exec.sound/src/test/java/test/lines/SourceLine.java delete mode 100644 java/exec.sound/src/test/java/test/lines/TargetLine.java diff --git a/java/exec.sound/.gitignore b/java/exec.sound/.gitignore deleted file mode 100644 index a4bf388..0000000 --- a/java/exec.sound/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/bin -/.settings -/sound diff --git a/java/exec.sound/build.gradle b/java/exec.sound/build.gradle deleted file mode 100644 index 9ff5a28..0000000 --- a/java/exec.sound/build.gradle +++ /dev/null @@ -1,14 +0,0 @@ -dependencies { - compile project(':core.worker') - - compile 'com.github.boukefalos:jlibpipe:0.1' - - compile 'commons-io:commons-io:2.+' - compile 'commons-cli:commons-cli:1.+' - compile 'commons-pool:commons-pool:1.+' - compile 'org.slf4j:slf4j-api:1.+' - compile 'org.slf4j:slf4j-log4j12:1.7.5' - compile 'org.ostermiller:utils:1.+' - compile 'com.googlecode.soundlibs:jlayer:1.+' - compile 'net.sf.javamusictag:jid3lib:0.+' -} \ No newline at end of file diff --git a/java/exec.sound/gradle/wrapper/gradle-wrapper.jar b/java/exec.sound/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index d3b83982b9b1bccad955349d702be9b884c6e049..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53319 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 diff --git a/java/exec.sound/gradle/wrapper/gradle-wrapper.properties b/java/exec.sound/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 129a033..0000000 --- a/java/exec.sound/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Mon Jul 11 23:15:35 BST 2016 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip diff --git a/java/exec.sound/gradlew b/java/exec.sound/gradlew deleted file mode 100644 index 27309d9..0000000 --- a/java/exec.sound/gradlew +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/env bash - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn ( ) { - echo "$*" -} - -die ( ) { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=$((i+1)) - done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" - -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/java/exec.sound/gradlew.bat b/java/exec.sound/gradlew.bat deleted file mode 100644 index f6d5974..0000000 --- a/java/exec.sound/gradlew.bat +++ /dev/null @@ -1,90 +0,0 @@ -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java/exec.sound/src/main/java/old/Converter.java b/java/exec.sound/src/main/java/old/Converter.java deleted file mode 100644 index 5cca267..0000000 --- a/java/exec.sound/src/main/java/old/Converter.java +++ /dev/null @@ -1,203 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package old; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import javazoom.jl.decoder.Bitstream; -import javazoom.jl.decoder.BitstreamException; -import sound.util.Utils; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.work.Work; - -import com.Ostermiller.util.CircularByteBuffer; - -public class Converter extends Work { - public static final String COMMAND = "lame --mp3input --cbr %s - - --quiet"; - public static final int BYTES = 4096; // bytes - public static final int BUFFER = 30000; // milliseconds - public static final int BUFFERING = 1000; // milliseconds - - protected int targetRate; - protected int rate; - protected int buffer; - protected boolean convert; - - protected Process process; - protected InputStream sourceInputStream, processInputStream, inputStream; - protected OutputStream processOutputStream; - protected CircularByteBuffer circularByteBuffer; - protected BufferWorker bufferWorker; - - public Converter(InputStream inputStream) { - this(inputStream, -1); - } - - public Converter(InputStream inputStream, int targetRate) { - super(); - this.sourceInputStream = inputStream; - this.targetRate = targetRate; - bufferWorker = new BufferWorker(); - convert = false; - } - - public void exit() { - super.exit(); - bufferWorker.exit(); - } - - public synchronized void activate() throws ActivateException { - /* Read bitrate */ - BufferedInputStream bufferedInputStream = new BufferedInputStream(sourceInputStream); - Bitstream bitStream = new Bitstream(bufferedInputStream); - try { - rate = bitStream.readFrame().bitrate() / 1000; - buffer = BUFFER * rate / 8; - } catch (BitstreamException e) { - logger.error("", e); - throw new ActivateException(); - } - - /* Check for need to convert */ - if (targetRate < 0 || rate == targetRate) { - logger.debug("No conversion required"); - inputStream = sourceInputStream; - } else { - logger.debug("Converting from " + rate + "kbps to " + targetRate + "kbps"); - try { - String command = String.format(COMMAND, rate > targetRate ? "-B " + targetRate : "-F -b " + targetRate); - logger.debug("Starting process: " + command); - process = Runtime.getRuntime().exec(command); - processInputStream = process.getInputStream(); - processOutputStream = process.getOutputStream(); - - /* Buffer output */ - circularByteBuffer = new CircularByteBuffer(CircularByteBuffer.INFINITE_SIZE); - inputStream = circularByteBuffer.getInputStream(); - bufferWorker.start(); - convert = true; - } catch (IOException e) { - logger.error("", e); - throw new ActivateException(); - } - } - super.activate(); - notifyAll(); - } - - public void deactivate() throws DeactivateException { - super.deactivate(); - try { - sourceInputStream.close(); - bufferWorker.stop(); - if (convert) { - circularByteBuffer.clear(); - convert = false; - } - inputStream.close(); - } catch (IOException e) { - logger.error("", e); - throw new DeactivateException(); - } - } - - public void work() { - if (!convert) { - try { - synchronized (this) { - wait(); - } - } catch (InterruptedException e) { - logger.error("", e); - } - return; - } - byte[] bytes = new byte[BYTES]; - int read = 0; - try { - logger.debug("Writing input to process"); - // Should be interrupted by stop()/exit() - while ((read = sourceInputStream.read(bytes)) > 0) { - /* Limit buffer size */ - while (inputStream.available() > buffer) { - int progress = (int) ((1 - (inputStream.available() - buffer) / (float) buffer) * 100); - logger.trace("Waiting for buffer to empty: " + progress + "%"); - sleep(BUFFERING); - } - processOutputStream.write(bytes, 0, read); - } - processOutputStream.close(); - logger.debug("Stopped writing input to process"); - process.waitFor(); - logger.debug("Process finished"); - } catch (IOException e) { - } catch (InterruptedException e) { - logger.error("", e); - } - stop(); - } - - public synchronized InputStream getInputStream() { - if (!active()) { - start(); - try { - wait(); - } catch (InterruptedException e) { - logger.error("", e); - } - } - return inputStream; - } - - public synchronized void setInputStream(InputStream inputStream) { - this.inputStream = inputStream; - } - - class BufferWorker extends Work { - public void work() { - byte[] bytes = new byte[BYTES]; - int read = 0; - try { - OutputStream bufferOutputStream = circularByteBuffer.getOutputStream(); - logger.debug("Start buffering process output"); - while ((read = processInputStream.read(bytes, 0, BYTES)) > 0) { - bufferOutputStream.write(bytes, 0, read); - } - logger.debug("Finished buffering process output"); - bufferOutputStream.close(); - } catch (IOException e) {} - stop(); - } - } - - public static void main(String[] args) { - Mp3 mp3 = new Mp3(new File("stream.mp3"), 128); - InputStream inputStream = mp3.getInputStream(); - - /* Play */ - //Utils.play(inputStream); - - /* Write to file */ - Utils.write(inputStream, new File("output.mp3")); - mp3.exit(); - } -} diff --git a/java/exec.sound/src/main/java/old/List.java b/java/exec.sound/src/main/java/old/List.java deleted file mode 100644 index cf681a8..0000000 --- a/java/exec.sound/src/main/java/old/List.java +++ /dev/null @@ -1,217 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package old; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.Scanner; - -import sound.consumer.Shoutcast; -import base.exception.worker.ActivateException; -import base.work.Work; - -import com.Ostermiller.util.BufferOverflowException; -import com.Ostermiller.util.CircularByteBuffer; -import com.Ostermiller.util.CircularObjectBuffer; - -public class List extends Work { - public static final int STEP = 80; // milliseconds - public static final int RATE = 192; // kbps - public static final int OVERLAP = 20000; // milliseconds - - protected File file; - protected String[] fileArray; - - protected int rate; - protected int chunk; - protected int overlap; - protected byte[] bytes; - protected boolean next; - protected Mp3 mp3, nextMp3; - - protected InputStream mp3InputStream; - protected OutputStream audioOutputStream; - protected CircularByteBuffer circularByteBuffer; - protected CircularObjectBuffer circularStringBuffer; - - public List(File file) { - this(file, RATE); - } - - public List(File file, int rate) { - this.file = file; - this.rate = rate; - chunk = STEP * rate / 8; - overlap = OVERLAP * RATE / 8; - bytes = new byte[chunk]; - next = true; - } - - public void exit() { - super.exit(); - if (mp3 != null) { - mp3.exit(); - } - if (nextMp3 != null) { - nextMp3.exit(); - } - } - - public synchronized void activate() throws ActivateException { - try { - Scanner scanner = new Scanner(file); - ArrayList fileList = new ArrayList(); - while (scanner.hasNextLine()) { - fileList.add(scanner.nextLine()); - } - scanner.close(); - if (fileList.size() > 0) { - fileArray = fileList.toArray(new String[0]); - - circularByteBuffer = new CircularByteBuffer(CircularByteBuffer.INFINITE_SIZE); - audioOutputStream = circularByteBuffer.getOutputStream(); - - circularStringBuffer = new CircularObjectBuffer(CircularByteBuffer.INFINITE_SIZE); - setNext(); - super.activate(); - notifyAll(); - return; - } - } catch (FileNotFoundException e) { - logger.error("", e); - } - throw new ActivateException(); - } - - public synchronized void work() { - try { - int left = chunk; - while (left > 0) { - /* Check for need to load next mp3 */ - int available = mp3InputStream == null ? -1 : mp3InputStream.available(); - boolean expect = mp3 == null ? false : mp3.active(); - - /* Act when no more data is expected */ - if (!expect) { - if (available < overlap) { - setNext(); - next = false; - nextMp3.start(); - } - if (available < 1) { - swap(); - } - } - - /* Transfer data */ - int read = mp3InputStream.read(bytes, 0, left); - left -= read; - audioOutputStream.write(bytes, 0, read); - } - } catch (IOException e) { - /* Swap to next if stream has stopped */ - setNext(); - swap(); - } catch (IllegalStateException e) { - logger.error("", e); - } - sleep(STEP); - } - - protected File getRandomFile() { - return new File(fileArray[(int) (Math.random() * fileArray.length)]); - } - - public synchronized void setNext() { - if (nextMp3 == null) { - logger.debug("Initialize next mp3"); - nextMp3 = new Mp3(getRandomFile(), rate); - } else if (next) { - logger.debug("Load next mp3"); - nextMp3.setFile(getRandomFile()); - } - } - - public synchronized void next() { - logger.debug("Stop current mp3"); - mp3.stop(); - } - - public void swap() { - logger.debug("Swap to next mp3"); - Mp3 swapMp3 = mp3; - mp3 = nextMp3; - nextMp3 = swapMp3; - next = true; - - /* Swap stream and announce title */ - mp3InputStream = mp3.getInputStream(); - try { - circularStringBuffer.write(mp3.getTitle()); - } catch (BufferOverflowException e) { - logger.error("", e); - } catch (IllegalStateException e) { - logger.error("", e); - } catch (InterruptedException e) { - logger.error("", e); - } - } - - public synchronized InputStream getInputStream() { - if (circularByteBuffer == null) { - start(); - try { - wait(); - } catch (InterruptedException e) { - logger.error("", e); - } - } - return circularByteBuffer.getInputStream(); - } - - public synchronized CircularObjectBuffer getMetaBuffer() { - if (circularStringBuffer == null) { - start(); - try { - wait(); - } catch (InterruptedException e) { - logger.error("", e); - } - } - return circularStringBuffer; - } - - public static void main(String[] args) throws Exception { - int rate = 192; - List list = new List(new File(List.class.getClassLoader().getResource("txt/mp3").toURI()), rate); - Shoutcast shoutcast = new Shoutcast(rate, 9876); - - shoutcast.setInputStream(list.getInputStream()); - shoutcast.setMetaBuffer(list.getMetaBuffer()); - shoutcast.start(); - while (true) { - try { - Thread.sleep(15000); - list.next(); - } catch (InterruptedException e) {} - } - } -} diff --git a/java/exec.sound/src/main/java/old/Mp3.java b/java/exec.sound/src/main/java/old/Mp3.java deleted file mode 100644 index ca36d33..0000000 --- a/java/exec.sound/src/main/java/old/Mp3.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package old; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; - -import org.farng.mp3.MP3File; -import org.farng.mp3.TagException; - -import sound.util.Utils; -import base.exception.worker.ActivateException; - -public class Mp3 extends Converter { - protected File file; - protected String title; - - public Mp3(File file) { - this(file, -1); - } - - public Mp3(File file, int targetRate) { - super(null, targetRate); - setFile(file); - title = ""; - } - - public synchronized void activate() throws ActivateException { - /* Open file */ - try { - sourceInputStream = new FileInputStream(file); - } catch (FileNotFoundException e) { - logger.error("", e); - throw new ActivateException(); - } - - /* Read ID3V2 tags */ - try { - MP3File mp3File = new MP3File(file); - String album = clean(mp3File.getID3v2Tag().getAlbumTitle()); - String artist = clean(mp3File.getID3v2Tag().getLeadArtist()); - String track = clean(mp3File.getID3v2Tag().getSongTitle()); - if (album.isEmpty()) { - title = String.format("%s - %s", artist, track, album); - } else { - title = String.format("%s - %s {%s}", artist, track, album); - } - logger.debug("Title: " + title); - } catch (IOException e) { - logger.error("", e); - } catch (TagException e) { - logger.error("", e); - } - try { - sourceInputStream.skip(100000); - } catch (IOException e) {} - super.activate(); - } - - protected String clean(String input) { - String output = input.replace("\0", ""); - return output.replace("ÿþ", ""); - } - - public String getTitle() { - return title; - } - - public void setFile(File file) { - this.file = file; - } - - public static void main(String[] args) { - final Mp3 mp3 = new Mp3(new File("input.mp3"), 128); - Utils.write(mp3.getInputStream(), new File("one.mp3")); - mp3.setFile(new File("stream.mp3")); - Utils.write(mp3.getInputStream(), new File("two.mp3")); - mp3.exit(); - } -} diff --git a/java/exec.sound/src/main/java/old/Transducer.java b/java/exec.sound/src/main/java/old/Transducer.java deleted file mode 100644 index 448d489..0000000 --- a/java/exec.sound/src/main/java/old/Transducer.java +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package old; - -import sound.Consumer; -import sound.Producer; - -public abstract class Transducer implements Consumer, Producer { - public int rate; - - public Transducer(Producer producer) { - //setProducer(producer); - } - - public int getRate() { - return rate; - } -} diff --git a/java/exec.sound/src/main/java/pipe/Client.java b/java/exec.sound/src/main/java/pipe/Client.java deleted file mode 100644 index 3257f2b..0000000 --- a/java/exec.sound/src/main/java/pipe/Client.java +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package pipe; - -import java.io.RandomAccessFile; - -public class Client { - public static void main(String[] args) { - try { - // Connect to the pipe - RandomAccessFile pipe = new RandomAccessFile("\\\\.\\pipe\\detest", "rw"); - String echoText = "Hello word\n"; - - // write to pipe - pipe.write(echoText.getBytes()); - - // read response - String echoResponse = pipe.readLine(); - System.out.println(echoResponse); - pipe.close(); - } catch (Exception e) { - e.printStackTrace(); - } - - } -} diff --git a/java/exec.sound/src/main/java/pipe/Pipe.java b/java/exec.sound/src/main/java/pipe/Pipe.java deleted file mode 100644 index f734658..0000000 --- a/java/exec.sound/src/main/java/pipe/Pipe.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package pipe; - -import com.github.boukefalos.jlibloader.Native; - -/** - * @author Vikram S Khatri vikram.khatri@us.ibm.com - */ -public class Pipe { - static final int ERROR_PIPE_CONNECTED = 535; - static final int ERROR_BROKEN_PIPE = 109; - static final int PIPE_ACCESS_DUPLEX = 0x00000003; - static final int PIPE_WAIT = 0x00000000; - - static { - Native.load("com.github.boukefalos", "jlibpipe"); - } - - public static final native int CreateNamedPipe( - String pipeName, - int ppenMode, - int pipeMode, - int maxInstances, - int outBufferSize, - int inBufferSize, - int defaultTimeOut, - int securityAttributes); - - public static final native boolean ConnectNamedPipe(int namedPipeHandle, int overlapped); - - public static final native int GetLastError(); - - public static final native boolean CloseHandle(int bbject); - - public static final native byte[] ReadFile(int file, int numberOfBytesToRead); - - public static final native int WriteFile(int file, byte[] buffer, int numberOfBytesToWrite); - - public static final native boolean FlushFileBuffers(int file); - - public static final native boolean DisconnectNamedPipe(int namedPipeHandle); - - public static final native int CreateFile( - String fileName, - int desiredAccess, - int shareMode, - int securityAttributes, - int creationDisposition, - int flagsAndAttributes, - int templateFile); - - public static final native boolean WaitNamedPipe(String namedPipeName, int timeOut); - - public static final native String FormatMessage(int errorCode); - - public static final native void Print(String message); -} diff --git a/java/exec.sound/src/main/java/pipe/TestPipe.java b/java/exec.sound/src/main/java/pipe/TestPipe.java deleted file mode 100644 index f70801a..0000000 --- a/java/exec.sound/src/main/java/pipe/TestPipe.java +++ /dev/null @@ -1,103 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package pipe; - -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; - -public class TestPipe { - - private int namedPipeHandle; - private String pipeName, srcFile; - private int pipeBuffer = 131072, fileBuffer = 8192; - - public TestPipe(String pipeName, String srcFile) { - this.pipeName = pipeName; - this.srcFile = srcFile; - } - - private void log(String message) { - System.out.println(message); - } - - private boolean createPipe() { - namedPipeHandle = Pipe.CreateNamedPipe( - pipeName, - Pipe.PIPE_ACCESS_DUPLEX, - Pipe.PIPE_WAIT, - 5, - pipeBuffer, - pipeBuffer, - 0xffffffff, - 0); - if (namedPipeHandle == -1) { - log("CreateNamedPipe failed for " + pipeName + " for error Message " + Pipe.FormatMessage(Pipe.GetLastError())); - } else { - log("Named Pipe " + pipeName + " created successfully Handle=" + namedPipeHandle); - } - return namedPipeHandle != -1; - } - - private boolean connectToPipe() { - log("Waiting for a client to connect to pipe " + pipeName); - boolean connected = Pipe.ConnectNamedPipe(namedPipeHandle, 0); - if (!connected) { - int lastError = Pipe.GetLastError(); - if (lastError == Pipe.ERROR_PIPE_CONNECTED) - connected = true; - } - log((connected ? "Connected to the pipe " : "Falied to connect to the pipe ") + pipeName); - return connected; - } - - public void runPipe() { - if (createPipe() && connectToPipe()) { - log("Client connected."); - try { - File f1 = new File(this.srcFile); - InputStream in = new FileInputStream(f1); - log("Sending data to the pipe"); - byte[] buf = new byte[fileBuffer]; - int len, bytesWritten; - while ((len = in.read(buf)) > 0) { - bytesWritten = Pipe.WriteFile(namedPipeHandle, buf, len); - log("Sent " + len + "/" + bytesWritten + " bytes to the pipe"); - if (bytesWritten == -1) { - int errorNumber = Pipe.GetLastError(); - log("Error Writing to pipe " + Pipe.FormatMessage(errorNumber)); - } - } - in.close(); - Pipe.FlushFileBuffers(namedPipeHandle); - Pipe.CloseHandle(namedPipeHandle); - Pipe.DisconnectNamedPipe(namedPipeHandle); - log("Writing to the pipe completed."); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - public static void main(String[] args) { - String pipeName = "\\\\.\\pipe\\detest"; - String fileName = "txt/mp3"; - fileName = "C:\\Users\\Rik\\Music\\Artists\\+44\\When Your Heart Stops Beating\\+44 - 155.mp3"; - TestPipe testPipe = new TestPipe(pipeName, fileName); - testPipe.runPipe(); - } -} diff --git a/java/exec.sound/src/main/java/sound/Consumer.java b/java/exec.sound/src/main/java/sound/Consumer.java deleted file mode 100644 index 3c30949..0000000 --- a/java/exec.sound/src/main/java/sound/Consumer.java +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound; - -public interface Consumer { - public void start(Producer producer); - public void stop(); - public void exit(); -} diff --git a/java/exec.sound/src/main/java/sound/Format.java b/java/exec.sound/src/main/java/sound/Format.java deleted file mode 100644 index 6adfe02..0000000 --- a/java/exec.sound/src/main/java/sound/Format.java +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound; - -import javax.sound.sampled.AudioFormat; - -public interface Format extends Cloneable { - public interface Standard extends Format { - public AudioFormat getAudioFormat(); - } - - public interface Mp3 extends Format { - public int getRate(); - } -} \ No newline at end of file diff --git a/java/exec.sound/src/main/java/sound/Producer.java b/java/exec.sound/src/main/java/sound/Producer.java deleted file mode 100644 index 77573f8..0000000 --- a/java/exec.sound/src/main/java/sound/Producer.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound; - -import java.io.InputStream; - -public interface Producer extends Format { - public InputStream getInputStream(); - public void start(); - public void stop(); - public void exit(); -} \ No newline at end of file diff --git a/java/exec.sound/src/main/java/sound/Source.java b/java/exec.sound/src/main/java/sound/Source.java deleted file mode 100644 index f4af09c..0000000 --- a/java/exec.sound/src/main/java/sound/Source.java +++ /dev/null @@ -1,177 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound; - -import java.io.IOException; -import java.io.InputStream; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.SourceDataLine; - -import javazoom.jl.decoder.JavaLayerException; -import javazoom.jl.player.Player; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sound.util.Tool; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.work.Work; - -public class Source implements Consumer { - protected Logger logger = LoggerFactory.getLogger(getClass()); - - protected static final int BUFFER_SIZE = 1024 * 4; // in bytes - protected static final int FRAMES = 10; // count - - protected String name; - protected Producer producer; - protected InputStream producerInputStream; - protected Work work; - - public Source(String name) throws LineUnavailableException { - this.name = name; - } - - public void start() { - if (work != null) { - work.start(); - } - } - - public void start(Producer producer) { - this.producer = producer; - producerInputStream = producer.getInputStream(); - if (work != null) { - work.exit(); - } - if (producer instanceof Format.Standard) { - logger.debug("Format.Standard"); - work = new DefaultWorker((Format.Standard) producer); - } else if (producer instanceof Format.Mp3) { - logger.debug("Format.Mp3"); - work = new Mp3Worker((Format.Mp3) producer); - } - start(); - } - - public void stop() { - if (work != null) { - work.stop(); - } - } - - public void exit() { - if (work != null) { - work.exit(); - } - } - - protected class DefaultWorker extends Work { - protected Format.Standard format; - protected SourceDataLine line; - - public DefaultWorker(Format.Standard format) { - this.format = format; - } - - public void activate() throws ActivateException { - AudioFormat audioFormat = format.getAudioFormat(); - try { - if (line == null) { - line = Tool.getSourceDataLine(name, audioFormat); - } - if (!line.isOpen()) { - line.open(); - } - } catch (LineUnavailableException e) { - logger.error("", e); - throw new ActivateException(); - } - if (!line.isRunning()) { - line.start(); - } - super.activate(); - } - - public void deactivate() throws DeactivateException { - super.deactivate(); - line.flush(); - } - - public void exit() { - super.exit(); - line.close(); - } - - public void work() { - try { - byte[] buffer = new byte[BUFFER_SIZE]; - int read = producerInputStream.read(buffer, 0, buffer.length); - if (read > 0) { - line.write(buffer, 0, read); - } else { - exit(); - } - } catch (IOException e) { - logger.error("", e); - exit(); - } - } - } - - protected class Mp3Worker extends Work { - protected Format.Mp3 format; - protected Player player; - - public Mp3Worker(Format.Mp3 format) { - this.format = format; - } - - public void activate() throws ActivateException { - producer.start(); - super.activate(); - } - - public void deactivate() throws DeactivateException { - super.deactivate(); - producer.stop(); - } - - public void exit() { - super.exit(); - player.close(); - } - - public void work() { - try { - if (player == null) { - player = new Player(producerInputStream); - sleep(100); - } - player.play(FRAMES); - } catch (JavaLayerException e) { - logger.error("", e); - } - if (player.isComplete()) { - stop(); - } - } - } -} diff --git a/java/exec.sound/src/main/java/sound/consumer/Port.java b/java/exec.sound/src/main/java/sound/consumer/Port.java deleted file mode 100644 index 8acbe7d..0000000 --- a/java/exec.sound/src/main/java/sound/consumer/Port.java +++ /dev/null @@ -1,137 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.consumer; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import javax.sound.sampled.AudioFormat; - -import sound.Consumer; -import sound.Format; -import sound.Format.Standard; -import sound.Producer; -import sound.util.SoxBuilder; -import sound.util.SoxBuilder.File; -import sound.util.SoxBuilder.File.Type; -import sound.util.SoxBuilder.Option; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.work.Work; - -public class Port extends Work implements Consumer { - protected static final int BUFFER_SIZE = 1024 * 4; // in bytes - - protected String device; - protected Producer producer; - protected Process process; - protected InputStream producerInputStream; - protected OutputStream processOutputStream; - protected ProcessBuilder processBuilder; - - public Port() { - this("0"); - } - - public Port(String device) { - this.device = device; - } - - public void start(Producer producer) { - start(producer); - } - - @SuppressWarnings("static-access") - public void start(Producer producer, boolean thread) { - this.producer = producer; - producerInputStream = producer.getInputStream(); - - String command = ""; - if (producer instanceof Standard) { - AudioFormat audioFormat = ((Standard) producer).getAudioFormat(); - SoxBuilder.addFile(File.setType(Type.STANDARD).setOptions(audioFormat)); - } else if (producer instanceof Format.Mp3) { - SoxBuilder.addFile(File.setType(Type.STANDARD).setOption(File.Format.MP3)); - } - command = SoxBuilder - .setOption(Option.QUIET) - .addFile(File.setType(Type.DEVICE)) - .build(); - - logger.debug(String.format("Build process (\"%s\")", command)); - processBuilder = new ProcessBuilder(command.split(" ")); - processBuilder.environment().put("AUDIODEV", device); - - start(); - } - - public void activate() throws ActivateException { - producer.start(); - if (process == null) { - try { - process = processBuilder.start(); - } catch (IOException e) { - logger.error("", e); - throw new ActivateException(); - } - processOutputStream = process.getOutputStream(); - } - super.activate(); - } - - public void deactivate() throws DeactivateException { - super.deactivate(); - try { - processOutputStream.flush(); - } catch (IOException e) { - logger.error("", e); - throw new DeactivateException(); - } - } - - public void exit() { - try { - logger.debug("close process output stream"); - processOutputStream.close(); - - logger.debug("wait for process to terminate"); - process.waitFor(); - } catch (IOException e) { - logger.error("", e); - } catch (InterruptedException e) { - logger.error("", e); - } finally { - process = null; - } - } - - public void work() { - try { - byte[] buffer = new byte[BUFFER_SIZE]; - int read = producerInputStream.read(buffer, 0, buffer.length); - if (read > 0) { - processOutputStream.write(buffer, 0, read); - } else { - exit(); - } - } catch (IOException e) { - logger.error("", e); - exit(); - } - } -} diff --git a/java/exec.sound/src/main/java/sound/consumer/Shoutcast.java b/java/exec.sound/src/main/java/sound/consumer/Shoutcast.java deleted file mode 100644 index 4864c51..0000000 --- a/java/exec.sound/src/main/java/sound/consumer/Shoutcast.java +++ /dev/null @@ -1,312 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.consumer; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.SocketException; -import java.util.HashMap; -import java.util.Map.Entry; -import java.util.concurrent.ConcurrentLinkedQueue; - -import sound.Consumer; -import sound.Producer; -import sound.data.Data; -import sound.util.Buffer; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.work.Listen; -import base.work.Work; - -import com.Ostermiller.util.CircularObjectBuffer; - -public class Shoutcast extends Work implements Consumer { - public static final int PORT = 9876; - public static final int RATE = 192; // in kbps - public static final int META = 8192; // in bytes - public static final int STEP = 80; // in milliseconds - public static final int BUFFER = 2000; // in bytes - public static final int BUFFERING = 500; // in milliseconds - public static final String DATA = "StreamTitle='%s';StreamUrl='%s';"; - protected int rate; - protected int port; - protected Server server; - protected HashMap headerMap; - protected ConcurrentLinkedQueue clientList; - protected InputStream producerInputStream; - protected int chunk; - protected Buffer buffer; - protected byte[] bytes; - protected Data data; - protected String metaData; - private CircularObjectBuffer circularStringBuffer; - - public Shoutcast() { - this(RATE, PORT); - } - - public Shoutcast(int rate) { - this(rate, PORT); - } - - public Shoutcast(int rate, int port) { - this.rate = rate; - this.port = port; - clientList = new ConcurrentLinkedQueue(); - metaData = ""; - - chunk = STEP * rate / 8; - bytes = new byte[chunk]; - buffer = new Buffer(BUFFER * rate / 8); - - headerMap = new HashMap(); - headerMap.put("icy-notice1", "This stream requires Winamp"); - headerMap.put("icy-notice2", "Java SHOUTcast Server"); - headerMap.put("icy-name", "Java Radio"); - headerMap.put("icy-genre", "Java"); - headerMap.put("icy-url", "http://localhost"); - headerMap.put("content-type:", "audio/mpeg"); - headerMap.put("icy-pub", "0"); - headerMap.put("icy-metaint", String.valueOf(META)); - headerMap.put("icy-br", String.valueOf(rate)); - } - - public void activate() throws ActivateException { - logger.trace("Activate Server"); - server = new Server(port); - server.start(); - super.activate(); - } - - public boolean active() { - return server.active(); - } - - public void deactivate() throws DeactivateException { - super.deactivate(); - server.stop(); - } - - public void work() { - int progress; - try { - int read = 0; - if (producerInputStream != null) { - while (producerInputStream.available() < buffer.capacity) { - progress = (int) (producerInputStream.available() / (buffer.capacity / 100.0F)); - logger.debug("Filling buffer: " + progress + "%"); - sleep(BUFFERING); - } - read = producerInputStream.read(bytes); - } - data = new Data(bytes, read); - buffer.write(bytes, 0, read); - } catch (IOException e) { - logger.error(e.getMessage()); - } - - for (Client client : clientList) { - if (client.active) { - client.add(data); - } - } - sleep(STEP); - } - - public void setMetaBuffer(CircularObjectBuffer circularStringBuffer) { - logger.debug("Set meta input stream"); - this.circularStringBuffer = circularStringBuffer; - } - - public void setMeta(String meta) { - logger.debug("Set meta string: " + meta); - metaData = meta; - } - - protected class Client extends Listen { - protected Socket socket; - protected InputStream inputStream; - protected OutputStream outputStream; - protected boolean writeMeta; - protected int untilMeta; - protected boolean active; - - public Client(Socket socket) throws IOException { - this.socket = socket; - inputStream = socket.getInputStream(); - outputStream = socket.getOutputStream(); - active = false; - clientList.add(this); - } - - public void activate() throws ActivateException { - BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); - try { - String line; - while ((line = bufferedReader.readLine()) != null) { - if (line.startsWith("Icy-MetaData")) { - writeMeta = Integer.valueOf(line.substring(line.indexOf(":") + 1).trim()).intValue() == 1; - untilMeta = META; - } else if (line.equals("")) { - break; - } - } - logger.debug(String.format("Client accept meta: %s", Boolean.valueOf(writeMeta))); - - OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream); - outputStreamWriter.write("ICY 200 OK\r\n"); - for (Entry header : headerMap.entrySet()) { - outputStreamWriter.write(String.format("%s: %s\r\n", header.getKey(), header.getValue())); - } - outputStreamWriter.write("\r\n"); - outputStreamWriter.flush(); - - add(new Data(buffer.get())); - active = true; - } catch (IOException e) { - logger.error(e.getMessage()); - throw new ActivateException(); - } - super.activate(); - } - - public void exit() { - logger.debug("Client exit"); - super.exit(); - clientList.remove(this); - try { - inputStream.close(); - outputStream.close(); - socket.close(); - } catch (IOException e) { - logger.error(e.getMessage()); - } - } - - public void input(Data data) { - try { - byte[] bytes = data.get(); - if (writeMeta) { - int offset = 0; - while (data.length() - offset >= untilMeta) { - outputStream.write(bytes, offset, untilMeta); - writeMeta(); - offset += untilMeta; - untilMeta = META; - } - int length = data.length() - offset; - outputStream.write(bytes, offset, length); - untilMeta -= length; - } else { - outputStream.write(bytes); - } - } catch (SocketException e) { - exit(); - } catch (IOException e) { - exit(); - } - } - - protected void writeMeta() throws IOException { - if ((circularStringBuffer != null) - && (circularStringBuffer.getAvailable() > 0)) { - try { - String newMetaData = circularStringBuffer.read(); - if (!newMetaData.isEmpty() && !newMetaData.equals(metaData)) { - metaData = newMetaData; - } - } catch (InterruptedException e) { - logger.error(e.getMessage()); - } - } - - String meta = String.format("StreamTitle='%s';StreamUrl='%s';", metaData, "???"); - byte[] metaBytes = meta.getBytes(); - - int length = (int) Math.ceil(metaBytes.length / 16.0F); - outputStream.write(length); - outputStream.write(metaBytes); - - int padding = 16 * length - metaBytes.length; - outputStream.write(new byte[padding], 0, padding); - } - } - - protected class Server extends Work { - protected int port; - protected ServerSocket serverSocket; - - public Server(int port) { - this.port = port; - } - - public boolean active() { - return serverSocket.isClosed() ? false : true; - } - - public void activate() throws ActivateException { - try { - serverSocket = new ServerSocket(port); - logger.debug("Server listening at port " + port); - } catch (IOException e) { - logger.error("", e); - throw new ActivateException(); - } - super.activate(); - } - - public void work() { - try { - Socket socket = serverSocket.accept(); - logger.trace("Client connected: " + socket.getInetAddress().toString()); - Shoutcast.Client client = new Shoutcast.Client(socket); - client.start(); - } catch (IOException e) { - logger.error(e.getMessage()); - } - } - - public void deactivate() throws DeactivateException { - logger.debug("Server deactivate"); - super.deactivate(); - try { - serverSocket.close(); - } catch (IOException e) { - logger.error(e.getMessage()); - } - for (Shoutcast.Client client : clientList) { - client.stop(); - } - } - } - - public void start(Producer producer) { - producerInputStream = producer.getInputStream(); - producer.start(); - super.start(); - } - - public void setInputStream(InputStream inputStream) { - producerInputStream = inputStream; - } -} diff --git a/java/exec.sound/src/main/java/sound/data/Data.java b/java/exec.sound/src/main/java/sound/data/Data.java deleted file mode 100644 index 3e02d9c..0000000 --- a/java/exec.sound/src/main/java/sound/data/Data.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.data; - -public class Data { - protected byte[] bytes; - protected int length; - - public Data(byte[] bytes) { - this(bytes, bytes.length); - } - - public Data(byte[] bytes, int length) { - this.bytes = bytes; - this.length = length; - } - - public byte[] get() { - return this.bytes; - } - - public int length() { - return this.length; - } -} \ No newline at end of file diff --git a/java/exec.sound/src/main/java/sound/producer/Stream.java b/java/exec.sound/src/main/java/sound/producer/Stream.java deleted file mode 100644 index 66fd180..0000000 --- a/java/exec.sound/src/main/java/sound/producer/Stream.java +++ /dev/null @@ -1,216 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.producer; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.net.Socket; -import java.net.URL; - -import sound.Format; -import sound.Producer; -import sound.stream.HoardedInputStream; -import base.exception.worker.ActivateException; -import base.exception.worker.DeactivateException; -import base.work.Work; - -import com.Ostermiller.util.CircularByteBuffer; -import com.Ostermiller.util.CircularObjectBuffer; - -public class Stream extends Work implements Producer, Format.Mp3 { - public static final int STEP = 80; // in milliseconds - - protected String http; - protected Socket socket; - protected InputStream socketInputStream; - protected OutputStreamWriter socketOutputStreamWriter; - protected HoardedInputStream hoardedInputStream; - protected int meta; - protected int rate; - protected int chunk; - protected int untilMeta; - protected CircularByteBuffer audioCircularByteBuffer; - protected CircularObjectBuffer metaCircularObjectBuffer; - protected String metaData; - - public Stream(String http) { - super(); - this.http = http; - meta = -1; - rate = -1; - audioCircularByteBuffer = new CircularByteBuffer(CircularByteBuffer.INFINITE_SIZE); - metaCircularObjectBuffer = new CircularObjectBuffer(); - } - - protected void connect(URL url) { - try { - /* Open socket communication */ - socket = new Socket(url.getHost(), url.getPort()); - socketInputStream = socket.getInputStream(); - socketOutputStreamWriter = new OutputStreamWriter(socket.getOutputStream()); - - /* Write stream request */ - if (url.getFile().equals("")) { - socketOutputStreamWriter.write("GET / HTTP/1.1\r\n"); - } else { - socketOutputStreamWriter.write("GET " + url.getFile() + " HTTP/1.1\r\n"); - } - socketOutputStreamWriter.write("Host: " + url.getHost() + "\r\n"); - //socketOutputStreamWriter.write("Icy-MetaData: 1\r\n"); - socketOutputStreamWriter.write("Connection: close\r\n"); - socketOutputStreamWriter.write("\r\n"); - socketOutputStreamWriter.flush(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void activate() throws ActivateException { - try { - /* Initialize connection */ - URL url = new URL(http); - - /* Parse headers */ - connect(url); - InputStreamReader inputStreamReader = new InputStreamReader(socketInputStream); - StringBuffer stringBuffer = new StringBuffer(); - char character; - int skip = 0; - while ((character = (char) inputStreamReader.read()) > 0) { - ++skip; - if (character == '\n') { - /* Fetch relevant headers */ - String line = stringBuffer.toString().trim(); - if (line.startsWith("icy-metaint")) { - meta = Integer.valueOf(line.substring(line.indexOf(":") + 1).trim()); - } else if (line.startsWith("icy-br")) { - rate = Integer.valueOf(line.substring(line.indexOf(":") + 1).trim()); - } else if (line.equals("")) { - break; - } - stringBuffer = new StringBuffer(); - } else { - stringBuffer.append(character); - } - } - inputStreamReader.close(); - - /* Reconnect to bypass pre-buffering problems */ - connect(url); - socketInputStream = socket.getInputStream(); - socketInputStream.skip(skip); - } catch (IOException e) { - e.printStackTrace(); - } catch (NumberFormatException e) { - e.printStackTrace(); - } - - /* Calculate streaming parameters */ - //untilMeta = meta; - chunk = STEP * rate / 8; - super.activate(); - } - - public void deactivate() throws DeactivateException { - super.deactivate(); - audioCircularByteBuffer.clear(); - metaCircularObjectBuffer.clear(); - try { - hoardedInputStream.clear(); - } catch (IOException e) { - logger.error("", e); - throw new DeactivateException(); - } - } - - public void work() { - int left = chunk; - - /* Handle media at appropriate times * - while (meta > 0 && left >= untilMeta) { - stream(untilMeta); - left -= untilMeta; - meta(); - untilMeta = meta; - }*/ - - /* Stream at fixed rate */ - stream(left); - //untilMeta -= left; - sleep(STEP); - } - - protected void stream(int length) { - try { - byte[] bytes = new byte[length]; - int read = 0; - while (length > 0 && (read = socketInputStream.read(bytes)) > 0) { - length -= read; - audioCircularByteBuffer.getOutputStream().write(bytes); - } - } catch (IOException e) { - logger.error(e.getMessage()); - stop(); - } - } - - protected void meta() { - try { - /* Retrieve data length */ - byte[] data = new byte[1]; - socketInputStream.read(data); - - int length = 16 * data[0]; - data = new byte[length]; - socketInputStream.read(data); - - /* Check for new data */ - String newMetaData = new String(data); - if (!newMetaData.isEmpty() && !newMetaData.equals(metaData)) { - metaData = newMetaData; - metaCircularObjectBuffer.write(new String(data)); - logger.debug("data: " + metaData); - } - return; - } catch (IOException e) { - logger.error("", e); - } catch (IllegalStateException e) { - logger.error("", e); - } catch (InterruptedException e) { - logger.error("", e); - } - stop(); - return; - } - - public InputStream getInputStream() { - if (hoardedInputStream == null) { - hoardedInputStream = new HoardedInputStream(audioCircularByteBuffer.getInputStream()); - } - return hoardedInputStream; - } - - public CircularObjectBuffer getMetaBufferStream() { - return metaCircularObjectBuffer; - } - - public int getRate() { - return rate; - } -} diff --git a/java/exec.sound/src/main/java/sound/producer/Target.java b/java/exec.sound/src/main/java/sound/producer/Target.java deleted file mode 100644 index bdc6d79..0000000 --- a/java/exec.sound/src/main/java/sound/producer/Target.java +++ /dev/null @@ -1,113 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.producer; - -import java.io.IOException; -import java.io.InputStream; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.TargetDataLine; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sound.Format; -import sound.Producer; -import sound.stream.HoardedInputStream; -import sound.util.Tool; - -public class Target implements Producer, Format.Standard { - protected Logger logger = LoggerFactory.getLogger(getClass()); - - protected Standard format; - - protected TargetDataLine line; - protected InputStream targetInputStream; - protected HoardedInputStream hoardedInputStream; - - protected AudioFormat audioFormat; - - public Target(String name) throws LineUnavailableException { - logger.debug(String.format("Target \"%s\" without format", name)); - line = Tool.getTargetDataLine(name); - audioFormat = line.getFormat(); - targetInputStream = new TargetInputStream(); - } - - public Target(String name, AudioFormat audioFormat) throws LineUnavailableException { - logger.debug(String.format("Target \"%s\" with format: %s", name, audioFormat)); - this.audioFormat = audioFormat; - line = Tool.getTargetDataLine(name, audioFormat); - targetInputStream = new TargetInputStream(); - } - - public AudioFormat getAudioFormat() { - return audioFormat; - } - - public InputStream getInputStream() { - return targetInputStream; - } - - public class TargetInputStream extends InputStream { - protected boolean open; - - public TargetInputStream() { - open = false; - } - - public int read() throws IOException { - start(); - byte[] buffer = new byte[1]; - line.read(buffer, 0, 1); - return (int) buffer[0]; - } - - public int read(byte[] buffer, int offset, int length) { - start(); - line.read(buffer, offset, length); - return length; - } - - public int available() { - start(); - return line.available(); - } - } - - public void start() { - if (!line.isOpen()) { - try { - line.open(); - } catch (LineUnavailableException e) { - logger.error("", e); - } - } - if (!line.isRunning()) { - line.start(); - } - } - - public void stop() { - line.flush(); - } - - public void exit() { - line.close(); - } -} diff --git a/java/exec.sound/src/main/java/sound/stream/HoardedInputStream.java b/java/exec.sound/src/main/java/sound/stream/HoardedInputStream.java deleted file mode 100644 index 4f6825b..0000000 --- a/java/exec.sound/src/main/java/sound/stream/HoardedInputStream.java +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.stream; - -import java.io.BufferedInputStream; -import java.io.IOException; -import java.io.InputStream; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class HoardedInputStream extends BufferedInputStream { - protected Logger logger = LoggerFactory.getLogger(getClass()); - - protected static final int SLEEP = 500; // in milliseconds - protected static final int BUFFER_SIZE = 30000; // in bytes - protected static final int MINIMUM_SIZE = 1000; // in bytes - - protected int bufferSize; - protected int minimumSize; - protected boolean hoard; - - public HoardedInputStream(InputStream inputStream) { - this(inputStream, BUFFER_SIZE, MINIMUM_SIZE); - } - - public HoardedInputStream(InputStream inputStream, int bufferSize) { - super(inputStream, bufferSize); - this.bufferSize = bufferSize; - hoard = true; - } - - public HoardedInputStream(InputStream inputStream, int bufferSize, int minimumSize) { - this(inputStream, bufferSize); - this.minimumSize = minimumSize; - } - - public int read() throws IOException { - hoard(); - byte[] buffer = new byte[1]; - in.read(buffer, 0, 1); - return (int) buffer[0]; - } - - public int read(byte[] buffer, int offset, int length) throws IOException { - hoard(); - in.read(buffer, offset, length); - return length; - } - - public void hoard() throws IOException { - int available = available(); - if (hoard && available < MINIMUM_SIZE) { - long time = System.currentTimeMillis(); - do { - try { - Thread.sleep(SLEEP); - } catch (InterruptedException e) { - logger.warn("", e); - } - } while (available() < BUFFER_SIZE); - logger.debug(String.format("Buffered %d bytes in %s milliseconds", BUFFER_SIZE - available, System.currentTimeMillis() - time)); - } - } - - public void clear() throws IOException { - this.buf = new byte[buf.length]; - reset(); - } - - public void drain() { - drain(true); - } - - public void drain(boolean drain) { - hoard = !drain; - } -} diff --git a/java/exec.sound/src/main/java/sound/util/Buffer.java b/java/exec.sound/src/main/java/sound/util/Buffer.java deleted file mode 100644 index 5c85b65..0000000 --- a/java/exec.sound/src/main/java/sound/util/Buffer.java +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.util; - -public class Buffer { - protected byte[] elements; - public int capacity; - protected int index; - protected int size; - - public Buffer(int capacity) { - elements = new byte[capacity]; - this.capacity = capacity; - index = 0; - size = 0; - } - - public synchronized void add(byte[] elements) { - for (byte element : elements) { - elements[index++ % capacity] = element; - if (size < capacity) { - ++size; - } - } - } - - public synchronized void write(byte[] elements, int offset, int length) { - for (int i = offset; i < length; ++i) { - this.elements[(index++ % capacity)] = elements[i]; - if (size < capacity) { - ++size; - } - } - } - - public synchronized byte[] get() { - byte[] elements = new byte[size]; - for (int i = 0; i < size; i++) { - elements[i] = elements[((index + i) % size)]; - } - return elements; - } -} \ No newline at end of file diff --git a/java/exec.sound/src/main/java/sound/util/SoxBuilder.java b/java/exec.sound/src/main/java/sound/util/SoxBuilder.java deleted file mode 100644 index d1d44bd..0000000 --- a/java/exec.sound/src/main/java/sound/util/SoxBuilder.java +++ /dev/null @@ -1,337 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.util; - -import java.util.HashMap; -import java.util.Map.Entry; - -import javax.sound.sampled.AudioFormat; - -import sound.util.SoxBuilder.Option.Combine; -import sound.util.SoxBuilder.Option.Replay; - -public final class SoxBuilder { - protected static SoxBuilder instance; - protected static HashMap optionMap; - protected static String files; - protected static String effects; - - static { - instance = new SoxBuilder(); - reset(); - } - - public static void reset() { - optionMap = new HashMap(); - files = ""; - effects = ""; - } - - public static SoxBuilder setOption(Option option, String value) { - optionMap.put(option.getCode(), value); - return instance; - } - - public static SoxBuilder setOption(Option option) { - return SoxBuilder.setOption(option, ""); - } - - public static SoxBuilder setOption(Option option, int value) { - return SoxBuilder.setOption(option, String.valueOf(value)); - } - - public static SoxBuilder setOption(Option option, Combine combine) { - return SoxBuilder.setOption(option, combine.getCode()); - } - - public static SoxBuilder setOption(Combine combine) { - return SoxBuilder.setOption(Option.COMBINE, combine); - } - - public static SoxBuilder setOption(Option option, Replay replay) { - return SoxBuilder.setOption(option, replay.toString().toLowerCase()); - } - - public static SoxBuilder setOption(Replay replay) { - return SoxBuilder.setOption(Option.REPLAY, replay); - } - - public static SoxBuilder addFile(File file) { - files = String.format("%s %s", files, file.build()); - return instance; - } - - public static SoxBuilder addEffect(Effect effect) { - effects = String.format("%s %s", effects, effect.build()); - return instance; - } - - public String build() { - String build = "sox"; - for (Entry entry : optionMap.entrySet()) { - String value = entry.getValue(); - if (value.equals("")) { - build = String.format("%s %s", build, entry.getKey()); - } else { - String option = String.format("%s %s", entry.getKey(), value); - build = String.format("%s %s", build, option); - } - } - build = String.format("%s%s%s", build, files, effects); - reset(); - return build; - } - - public enum Environment { - AUDIODRIVER, AUDIODEV - } - - public enum Option { - BUFFER ("--buffer"), // default=8192 - INPUT_BUFFER ("--input-buffer"), - CLOBBER ("--clobber"), - COMBINE ("--combine"), // |Combine| - NO_DITHER ("--no-dither"), // (-D) - EFFECTS_FILE ("--efects-file"), - GUARD ("--guard"), // (-G) - MIX ("-m"), // (--combine mix) - MERGE ("-M"), // (--combine merge) - MAGIC ("--magic"), - MULTI_THREADED ("--multi-threaded"), - SINGLE_THREADED ("--single-threaded"), - NORM ("--norm"), // [=dB-level] - PLAY_RATE_ARG ("--play-rate-arg"), - QUIET ("--no-show-progress"), // (-q) - REPEATABLE ("-R"), - REPLAY ("--replay-gain"), // |Replay| - MULTIPLY ("-T"), // (--combine multiply) - TEMP ("--temp"); - - protected String code; - - private Option(String code) { - this.code = code; - } - - public String getCode() { - return code; - } - - public enum Combine { - CONCATENATE ("concatenate"), - MERGE ("merge"), // (-M) - MIX ("mix"), // (-m) - MIX_POWER ("mix-power"), - MULTIPLY ("multiply"), // (-T) - SEQUENCE ("sequence"); - - protected String code; - - private Combine(String code) { - this.code = code; - } - - public String getCode() { - return code; - } - } - - public enum Replay { - TRACK, ALBUM, OFF - } - } - - public static class File { - protected static File instance; - - protected static HashMap optionMap; - protected static Type type; - - static { - instance = new File(); - reset(); - } - - public static void reset() { - optionMap = new HashMap(); - type = Type.PIPE; - } - - public static File setOption(Option option, String value) { - optionMap.put(option.getCode(), value); - return instance; - } - - public static File setOption(Option option) { - return File.setOption(option, ""); - } - - public static File setOption(Option option, int value) { - return File.setOption(option, String.valueOf(value)); - } - - public static File setOption(Option option, Encoding encoding) { - return File.setOption(option, encoding.getCode()); - } - - public static File setOption(Encoding encoding) { - return File.setOption(Option.ENCODING, encoding); - } - - public static File setOption(Option option, Format format) { - return File.setOption(option, format.toString().toLowerCase()); - } - - public static File setOption( Format format) { - return File.setOption(Option.FORMAT, format); - } - - public static File setOption(Option option, Endian endian) { - return File.setOption(option, endian.toString().toLowerCase()); - } - - public static File setOption(Endian endian) { - return File.setOption(Option.ENDIAN, endian); - } - - public File setOptions(AudioFormat audioFormat) { - setOption(Option.CHANNELS, audioFormat.getChannels()); - setOption(Option.RATE, String.format("%sk", String.valueOf(audioFormat.getSampleRate() / 1000f))); - AudioFormat.Encoding encoding = audioFormat.getEncoding(); - int bits = audioFormat.getSampleSizeInBits(); - if (encoding.equals(AudioFormat.Encoding.ALAW)) { - setOption(Format.AL); - setOption(Encoding.A_LAW); - } else if (encoding.equals(AudioFormat.Encoding.ULAW)) { - setOption(Format.UL); - setOption(Encoding.U_LAW); - } else if (encoding.equals(AudioFormat.Encoding.PCM_SIGNED)) { - setOption(Format.valueOf(String.format("S%d", bits))); - setOption(Encoding.SIGNED_INTEGER); - } else if (encoding.equals(AudioFormat.Encoding.PCM_UNSIGNED)) { - setOption(Format.valueOf(String.format("U%d", bits))); - setOption(Encoding.UNSIGNED_INTEGER); - } - setOption(audioFormat.isBigEndian() ? Endian.BIG : Endian.LITTLE); - return instance; - } - - public static File setType(Type type) { - File.type = type; - return instance; - } - - public String build() { - String build = type.getCode(); - for (Entry entry : optionMap.entrySet()) { - String value = entry.getValue(); - if (value.equals("")) { - build = String.format("%s %s", entry.getKey(), build); - } else { - String option = String.format("%s %s", entry.getKey(), value); - build = String.format("%s %s", option, build); - } - } - reset(); - return build; - } - - public enum Option { - BITS ("--bits"), // (-b) - CHANNELS ("--channels"), // (-c) - ENCODING ("--encoding"), // (-e), |Encoding| - NO_GLOB ("--no-glob"), - RATE ("--rate"), // (-r) - FORMAT ("--type"), // (-t), |Format| - ENDIAN ("--endian"), // (-L, -B, -x), |Endian| - REVERSE_NIBBLES ("--reverse-nibbles"), // (-N) - REVERSE_BITS ("--reverse-bits"), // (-X) - /* Input only */ - IGNORE_LENGTH ("--ignore-length"), - VOLUME ("--volume"), // (-v) - /* Output only */ - ADD_COMMENT ("--add-comment"), - COMMENT ("--comment"), - COMMENT_FILE ("--comment-file"), - COMPRESSION ("--compression"); // -C - - protected String code; - - private Option(String code) { - this.code = code; - } - - public String getCode() { - return code; - } - } - - public enum Encoding { - SIGNED_INTEGER ("signed-integer"), // PCM data stored as signed integers - UNSIGNED_INTEGER ("unsigned-integer"), // PCM data stored as unsigned integers - FLOATING_POINT ("floating-point"), // PCM data stored as single precision (32-bit) or double precision (64-bit) floating-point numbers - A_LAW ("a-lawW"), // International telephony standard for logarithmic encoding to 8 bits per sample (~13-bit PCM) - U_LAW ("u-law"), // North American telephony standard for logarithmic encoding to 8 bits per sample (~14-bit PCM) - MU_LAW ("mu-law"), // alias for u-law (~14-bit PCM) - OKI_ADPCM ("oki-adpcm"), // OKI (VOX, Dialogic or Intel) 4-bit ADPCM (~12-bit PCM) - IMA_ADPCM ("ima-adpcm"), // IMA (DVI) 4-bit ADPCM (~13-bit PCM) - MS_ADPCM ("ms-adpcm"), // Microsoft 4-bit ADPCM (~14-bit PCM) - GSM_FULL_RATE ("gsm-full-rate"); // Several audio formats used for digital wireless telephone calls - - protected String code; - - private Encoding(String code) { - this.code = code; - } - - public String getCode() { - return code; - } - } - - public enum Format { - AIF, AIFC, AIFF, AIFFC, AL, AMB, AMR, ANY, ARL, AU, AVR, BIN, CAF, CDDA, CDR, CVS, CVSD, CVU, DAT, DVMS, EDU, F32, F64, FAP, FLAC, FSSD, GSM, GSRT, HCOM, HTK, IMA, IRCAM, LA, LPC, LPC10, LU, M3U, M4A, MAT, MAT4, MAT5, MAUD, MP2, MP3, MP4, NIST, OGG, PAF, PLS, PRC, PVF, RAW, S16, S24, S32, S8, SD2, SDS, SF, SLN, SMP, SND, SNDR, SNDT, SOU, SOX, SPH, TXW, U16, U24, U32, U8, UL, VMS, VOC, VORBIS, VOX, W64, WAV, WAVPCM, WV, WVE, XA, XI; - } - - public enum Endian { - LITTLE, BIG, SWAP; - } - - public enum Type { - STANDARD ("-"), // -t must be given - PIPE ("-p"), // (--sox-pipe) - DEVICE ("-d"), // (--default-device) - NULL ("-n"); // (--null) - - protected String code; - - private Type(String code) { - this.code = code; - } - - public String getCode() { - return code; - } - } - } - - public class Effect { - public String build() { - return null; - } - } -} diff --git a/java/exec.sound/src/main/java/sound/util/Tool.java b/java/exec.sound/src/main/java/sound/util/Tool.java deleted file mode 100644 index be85406..0000000 --- a/java/exec.sound/src/main/java/sound/util/Tool.java +++ /dev/null @@ -1,156 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.util; - -import java.util.ArrayList; -import java.util.HashMap; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.DataLine; -import javax.sound.sampled.Line; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.Mixer; -import javax.sound.sampled.Port; -import javax.sound.sampled.Port.Info; -import javax.sound.sampled.SourceDataLine; -import javax.sound.sampled.TargetDataLine; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class Tool { - protected static Logger logger = LoggerFactory.getLogger(Tool.class); - - protected static HashMap> targetMap; - protected static HashMap> sourceMap; - protected static ArrayList portList; - - protected static ArrayList targetList; - protected static ArrayList sourceList; - - static { - Tool tool = new Tool(); - - targetMap = new HashMap>(); - sourceMap = new HashMap>(); - targetList = new ArrayList(); - sourceList = new ArrayList(); - portList = new ArrayList(); - - for (Mixer.Info mixerInfo : AudioSystem.getMixerInfo()) { - String name = mixerInfo.getName(); - Mixer mixer = AudioSystem.getMixer(mixerInfo); - - for (Line.Info lineInfo : mixer.getSourceLineInfo()) { - String lineClassName = lineInfo.getLineClass().getName(); - if (lineClassName.equals("javax.sound.sampled.SourceDataLine")) { - if (mixer.isLineSupported(lineInfo)) { - logger.debug(" " + name); - sourceMap.put(name, tool.new Device(mixer, lineInfo)); - } - } - } - for (Line.Info lineInfo : mixer.getTargetLineInfo()) { - String lineClassName = lineInfo.getLineClass().getName(); - if (lineClassName.equals("javax.sound.sampled.TargetDataLine")) { - if (mixer.isLineSupported(lineInfo)) { - logger.debug(" " + name); - targetMap.put(name, tool.new Device(mixer, lineInfo)); - } - } else if (lineClassName.equals("javax.sound.sampled.Port")) { - name = name.substring(5); - try { - Port port = (Port) mixer.getLine(lineInfo); - Port.Info portInfo = (Info) port.getLineInfo(); - if (!targetMap.containsKey(name) || portInfo.equals(Port.Info.LINE_OUT) || portInfo.equals(Port.Info.SPEAKER)) { - logger.debug(" " + name); - portList.add(name); - } - } catch (LineUnavailableException e) { - logger.error("", e); - } - } - } - } - } - - public static String[] getTargets() { - return targetMap.keySet().toArray(new String[0]); - } - - public static String[] getSources() { - return sourceMap.keySet().toArray(new String[0]); - } - - public static String[] getPorts() { - return portList.toArray(new String[0]); - } - - public static TargetDataLine getTargetDataLine(String name) throws LineUnavailableException { - if (targetMap.containsKey(name)) { - return targetMap.get(name).getLine(); - } else { - throw new LineUnavailableException(); - } - } - - public static TargetDataLine getTargetDataLine(String name, AudioFormat audioFormat) throws LineUnavailableException { - if (targetMap.containsKey(name)) { - return targetMap.get(name).getLine(audioFormat); - } else { - throw new LineUnavailableException(); - } - } - - public static SourceDataLine getSourceDataLine(String name) throws LineUnavailableException { - if (sourceMap.containsKey(name)) { - return sourceMap.get(name).getLine(); - } else { - throw new LineUnavailableException(); - } - } - - public static SourceDataLine getSourceDataLine(String name, AudioFormat audioFormat) throws LineUnavailableException { - if (sourceMap.containsKey(name)) { - return sourceMap.get(name).getLine(audioFormat); - } else { - throw new LineUnavailableException(); - } - } - - public class Device { - protected Mixer mixer; - protected Line.Info lineInfo; - - public Device(Mixer mixer, Line.Info lineInfo) { - this.mixer = mixer; - this.lineInfo = lineInfo; - } - - @SuppressWarnings("unchecked") - public T getLine() throws LineUnavailableException { - return (T) mixer.getLine(lineInfo); - } - - @SuppressWarnings("unchecked") - public T getLine(AudioFormat audioFormat) throws LineUnavailableException { - DataLine.Info dataLineInfo = new DataLine.Info(lineInfo.getLineClass(), audioFormat); - return (T) mixer.getLine(dataLineInfo); - } - } -} diff --git a/java/exec.sound/src/main/java/sound/util/Utils.java b/java/exec.sound/src/main/java/sound/util/Utils.java deleted file mode 100644 index e25ee34..0000000 --- a/java/exec.sound/src/main/java/sound/util/Utils.java +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package sound.util; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; - -import javazoom.jl.decoder.JavaLayerException; -import javazoom.jl.player.Player; - -public class Utils { - public static final int BUFFER = 2048; // bytes - - public static void play(InputStream inputStream) { - try { - new Player(new BufferedInputStream(inputStream)).play(); - } catch (JavaLayerException e) { - e.printStackTrace(); - } - } - - public static void write(InputStream inputStream, File file) { - byte[] bytes = new byte[BUFFER]; - int read = 0; - try { - FileOutputStream fileOutputStream = new FileOutputStream(file); - while ((read = inputStream.read(bytes)) > 0) { - fileOutputStream.write(bytes, 0, read); - } - fileOutputStream.close(); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } -} diff --git a/java/exec.sound/src/main/resources/txt/keuze.txt b/java/exec.sound/src/main/resources/txt/keuze.txt deleted file mode 100644 index 7e9581d..0000000 --- a/java/exec.sound/src/main/resources/txt/keuze.txt +++ /dev/null @@ -1,13 +0,0 @@ -from pcm: - --r -s [--unsigned] [--big-endian] - -to mp3: ---cbr -b - - -mp3 to pcm: ---decode - -always: - - - --quiet \ No newline at end of file diff --git a/java/exec.sound/src/main/resources/txt/lame b/java/exec.sound/src/main/resources/txt/lame deleted file mode 100644 index 4d95aae..0000000 --- a/java/exec.sound/src/main/resources/txt/lame +++ /dev/null @@ -1,182 +0,0 @@ -LAME 32bits version 3.98.4 (http://www.mp3dev.org/) - -usage: lame [options] [outfile] - - and/or can be "-", which means stdin/stdout. - -RECOMMENDED: - lame -V2 input.wav output.mp3 - -OPTIONS: - Input options: - --scale scale input (multiply PCM data) by - --scale-l scale channel 0 (left) input (multiply PCM data) by - --scale-r scale channel 1 (right) input (multiply PCM data) by - --mp1input input file is a MPEG Layer I file - --mp2input input file is a MPEG Layer II file - --mp3input input file is a MPEG Layer III file - --nogap <...> - gapless encoding for a set of contiguous files - --nogapout - output dir for gapless encoding (must precede --nogap) - --nogaptags allow the use of VBR tags in gapless encoding - - Input options for RAW PCM: - -r input is raw pcm - -x force byte-swapping of input - -s sfreq sampling frequency of input file (kHz) - default 44.1 kHz - --bitwidth w input bit width is w (default 16) - --signed input is signed (default) - --unsigned input is unsigned - --little-endian input is little-endian (default) - --big-endian input is big-endian - - - Operational options: - -a downmix from stereo to mono file for mono encoding - -m (j)oint, (s)imple, (f)orce, (d)dual-mono, (m)ono - default is (j) or (s) depending on bitrate - joint = joins the best possible of MS and LR stereo - simple = force LR stereo on all frames - force = force MS stereo on all frames. - --preset type type must be "medium", "standard", "extreme", "insane", - or a value for an average desired bitrate and depending - on the value specified, appropriate quality settings will - be used. - "--preset help" gives more info on these - --comp choose bitrate to achive a compression ratio of - --replaygain-fast compute RG fast but slightly inaccurately (default) - --replaygain-accurate compute RG more accurately and find the peak sample - --noreplaygain disable ReplayGain analysis - --clipdetect enable --replaygain-accurate and print a message whether - clipping occurs and how far the waveform is from full scale - --flush flush output stream as soon as possible - --freeformat produce a free format bitstream - --decode input=mp3 file, output=wav - -t disable writing wav header when using --decode - - - Verbosity: - --disptime print progress report every arg seconds - -S don't print progress report, VBR histograms - --nohist disable VBR histogram display - --silent don't print anything on screen - --quiet don't print anything on screen - --brief print more useful information - --verbose print a lot of useful information - - Noise shaping & psycho acoustic algorithms: - -q = 0...9. Default -q 5 - -q 0: Highest quality, very slow - -q 9: Poor quality, but fast - -h Same as -q 2. Recommended. - -f Same as -q 7. Fast, ok quality - - - CBR (constant bitrate, the default) options: - -b set the bitrate in kbps, default 128 kbps - --cbr enforce use of constant bitrate - - ABR options: - --abr specify average bitrate desired (instead of quality) - - VBR options: - -V n quality setting for VBR. default n=4 - 0=high quality,bigger files. 9=smaller files - -v the same as -V 4 - --vbr-old use old variable bitrate (VBR) routine - --vbr-new use new variable bitrate (VBR) routine (default) - -b specify minimum allowed bitrate, default 32 kbps - -B specify maximum allowed bitrate, default 320 kbps - -F strictly enforce the -b option, for use with players that - do not support low bitrate mp3 - -t disable writing LAME Tag - -T enable and force writing LAME Tag - - - PSY related: - --temporal-masking x x=0 disables, x=1 enables temporal masking effect - --nssafejoint M/S switching criterion - --nsmsfix M/S switching tuning [effective 0-3.5] - --interch x adjust inter-channel masking ratio - --ns-bass x adjust masking for sfbs 0 - 6 (long) 0 - 5 (short) - --ns-alto x adjust masking for sfbs 7 - 13 (long) 6 - 10 (short) - --ns-treble x adjust masking for sfbs 14 - 21 (long) 11 - 12 (short) - --ns-sfb21 x change ns-treble by x dB for sfb21 - - - experimental switches: - -Y lets LAME ignore noise in sfb21, like in CBR - - - MP3 header/stream options: - -e de-emphasis n/5/c (obsolete) - -c mark as copyright - -o mark as non-original - -p error protection. adds 16 bit checksum to every frame - (the checksum is computed correctly) - --nores disable the bit reservoir - --strictly-enforce-ISO comply as much as possible to ISO MPEG spec - - Filter options: - --lowpass frequency(kHz), lowpass filter cutoff above freq - --lowpass-width frequency(kHz) - default 15% of lowpass freq - --highpass frequency(kHz), highpass filter cutoff below freq - --highpass-width frequency(kHz) - default 15% of highpass freq - --resample sampling frequency of output file(kHz)- default=automatic - - - ID3 tag options: - --tt audio/song title (max 30 chars for version 1 tag) - --ta <artist> audio/song artist (max 30 chars for version 1 tag) - --tl <album> audio/song album (max 30 chars for version 1 tag) - --ty <year> audio/song year of issue (1 to 9999) - --tc <comment> user-defined text (max 30 chars for v1 tag, 28 for v1.1) - --tn <track[/total]> audio/song track number and (optionally) the total - number of tracks on the original recording. (track - and total each 1 to 255. just the track number - creates v1.1 tag, providing a total forces v2.0). - --tg <genre> audio/song genre (name or number in list) - --ti <file> audio/song albumArt (jpeg/png/gif file, 128KB max, v2.3) - --tv <id=value> user-defined frame specified by id and value (v2.3 tag) - --add-id3v2 force addition of version 2 tag - --id3v1-only add only a version 1 tag - --id3v2-only add only a version 2 tag - --space-id3v1 pad version 1 tag with spaces instead of nulls - --pad-id3v2 same as '--pad-id3v2-size 128' - --pad-id3v2-size <value> adds version 2 tag, pad with extra <value> bytes - --genre-list print alphabetically sorted ID3 genre list and exit - --ignore-tag-errors ignore errors in values passed for tags - - Note: A version 2 tag will NOT be added unless one of the input fields - won't fit in a version 1 tag (e.g. the title string is longer than 30 - characters), or the '--add-id3v2' or '--id3v2-only' options are used, - or output is redirected to stdout. - - -MS-Windows-specific options: - --priority <type> sets the process priority: - 0,1 = Low priority (IDLE_PRIORITY_CLASS) - 2 = normal priority (NORMAL_PRIORITY_CLASS, default) - 3,4 = High priority (HIGH_PRIORITY_CLASS)) - Note: Calling '--priority' without a parameter will select priority 0. - -Misc: - --license print License information - - - - Platform specific: - --noasm <instructions> disable assembly optimizations for mmx/3dnow/sse - - - -MPEG-1 layer III sample frequencies (kHz): 32 48 44.1 -bitrates (kbps): 32 40 48 56 64 80 96 112 128 160 192 224 256 320 - -MPEG-2 layer III sample frequencies (kHz): 16 24 22.05 -bitrates (kbps): 8 16 24 32 40 48 56 64 80 96 112 128 144 160 - -MPEG-2.5 layer III sample frequencies (kHz): 8 12 11.025 -bitrates (kbps): 8 16 24 32 40 48 56 64 - diff --git a/java/exec.sound/src/main/resources/txt/mp3 b/java/exec.sound/src/main/resources/txt/mp3 deleted file mode 100644 index daf87ab..0000000 --- a/java/exec.sound/src/main/resources/txt/mp3 +++ /dev/null @@ -1,1357 +0,0 @@ -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - 155.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Baby Come On.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Chapter 13.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Cliff Diving.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Interlude.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Lillian.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Little Death.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Lycanthrope.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Make You Smile.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - No, It Isn't.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - Weatherman.mp3 -C:/Users/Rik/Music/Artists/+44/When Your Heart Stops Beating/+44 - When Your Heart Stops Beating.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Chasing the Rapture.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Dead In the Water.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Fade Into the Dream.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Fix Me.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Now Is the Time.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - One More Day.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - The Wicked Ones.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Waking Up the Ghost.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - A Beautiful Lie.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - Attack.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - Battle of One.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - From Yesterday.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - R-Evolve.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - Savior.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - The Fantasy.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/A Beautiful Lie/30 Seconds to Mars - Was It a Dream.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - A Call to Arms.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Closer to the Edge.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Equinox.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Escape.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Hurricane.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Kings and Queens.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Night of the Hunter (Flood Remix).mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Night of the Hunter.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - Search & Destroy.mp3 -C:/Users/Rik/Music/Artists/30 Seconds To Mars/This Is War/30 Seconds to Mars - This Is War.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - A Party Song (The Walk of Shame).mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Break Your Little Heart.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Damned If I Do Ya (Damned If I Don't).mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Hello Brooklyn.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Keep the Change, You Filthy Animal.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Lost In Stereo.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Sick Little Games.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Stella.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Therapy.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Too Much.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Walls.mp3 -C:/Users/Rik/Music/Artists/All Time Low/Nothing Personal/All Time Low - Weightless.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Art of War.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Closer.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Depraved.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Down.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Impossible.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Pray Tell.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - Take Me (As You Found Me).mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - To the Wolves.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - We Owe This to Ourselves.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Dark Is The Way, Light Is A Place/Anberlin - You Belong Here.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Clever Love.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Epic Holiday.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Et Ducit Mundum Per Luce.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Hallucinations.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Letters to God, Part Ii.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Shove.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Some Origins of Fire.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Soul Survivor (...2012).mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - The Flight of Apollo.mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - The Moon-Atomic (...Fragments and Fictions).mp3 -C:/Users/Rik/Music/Artists/Angels & Airwaves/Love/Angels & Airwaves - Young London.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/The Suburbs/Arcade Fire - City With No Children.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/The Suburbs/Arcade Fire - Empty Room.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/The Suburbs/Arcade Fire - Half Light Ii (No Celebration).mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/The Suburbs/Arcade Fire - Modern Man.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/The Suburbs/Arcade Fire - Month of May.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/The Suburbs/Arcade Fire - Suburban War.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Adam's Song.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - All the Small Things.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Always.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Another Girl Another Planet.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Carousel.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Dammit.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Down.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Feelin' This.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - First Date.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Josie.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - M&m's.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Man Overboard (Live).mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Miss You.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Not Now.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Rock Show.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - Stay Together For the Kids.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Greatest Hits/Blink-182 - What's My Age Again.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Coldplay - Clocks.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Coldplay - In My Place.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Coldplay - Life In Technicolor Ii.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Coldplay - Speed of Sound.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Coldplay - Talk.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Viva la Vida or Death and All His Friends/Coldplay - Life In Technicolor.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Viva la Vida or Death and All His Friends/Coldplay - Lost!.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Viva la Vida or Death and All His Friends/Coldplay - Lovers In Japan Reign of Love.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Viva la Vida or Death and All His Friends/Coldplay - Viva La Vida.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Counting Crows - Accidentally In Love.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - American Girls.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Angels of the Silences.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Big Yellow Taxi.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Einstein On the Beach (For An Eggman).mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Friend of the Devil.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Hanginaround.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Mr. Jones.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Mrs. Potter's Lullaby.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Omaha.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Rain King.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - Recovering the Satellites.mp3 -C:/Users/Rik/Music/Artists/Counting Crows/Films About Ghosts - The Best Of/Counting Crows - She Don't Want Nobody Near.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Am I So Blind.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Burn.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - California Summer.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Everything In Me.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Forget About Me.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - In the End.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - In Your Arms.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Sinking Sand.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Spiders.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Stars.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Wake Me.mp3 -C:/Users/Rik/Music/Artists/Destine/Lightspeed/Destine - Where Are You Now.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect - Hungry For Love.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect - She.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - A Good Thing.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - A Whole New Era.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Break Us In Two.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Bring Down Tomorrow.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Don't Look Back.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - I Juct Can't Stand.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - It Feels.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Johny.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Lucky.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - One Step Closer.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Over and Over.mp3 -C:/Users/Rik/Music/Artists/Di-Rect/Di-Rect/Di-Rect - Someday.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - A Coming of Age Story.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - As You Wish.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - Best Friends For Never.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - Biggest Fan.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - Confetti.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - From Across the Room.mp3 -C:/Users/Rik/Music/Artists/Dropout Year/Best Friends For Never/Dropout Year - It Wasn't Over, It Still Isn't Over.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - (Coffee's For Closers).mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - 20 Dollar Nose Bleed.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - 27.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - America's Suitehearts.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - Disloyal Order of Water Buffaloes.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - Headfirst Slide Into Coopestown On a Bad Bet.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - I Don't Care.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - She's My Winona.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - Tiffany Blews.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - West Coast Smoker.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Folie A Deux/Fall Out Boy - What a Catch, Donnie.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - All My Life.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Best of You.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Big Me.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Breakout.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Everlong.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Learn to Fly.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Long Road to Ruin.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Monkey Wrench.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - My Hero.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - The Pretender.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - This Is a Call.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Times Like These.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Wheels.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Word Forward.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - A Matter of Time.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Arlandria.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Back & Forth.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Bridge Burning.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Dear Rosemary.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Miss the Misery.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Rope.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - These Days.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Walk.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Beam Me Up.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Electric.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Fuck You.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Hey Dj.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - I Lov It.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - I'm the Night (See You Later).mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Nicer.mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Oh No (We Stayed).mp3 -C:/Users/Rik/Music/Artists/Go Back To The Zoo/Benny Blisto/Go Back to the Zoo - Sweet World.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - 1979.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Alive.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Cardiology.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Counting the Days.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Harlow's Song (Can't Dream Without You).mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Interlude (The Fifth Chamber).mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Introduction to Cardiology.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Last Night.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Let the Music Play.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Like It's Her Birthday.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Right Where I Belong.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Sex On the Radio.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Silver Screen Romance.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - Standing Ovation.mp3 -C:/Users/Rik/Music/Artists/Good Charlotte/Cardiology/Good Charlotte - There She Goes.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - 21 Guns.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - 21st Century Breakdown.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - American Eulogy.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Before the Lobotomy.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Christian's Inferno.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - East Jesus Nowhere.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Horseshoes and Handgrenades.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Know Your Enemy.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Last Night On Earth.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Last of the American Girls.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Murder City.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Peacemaker.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Restless Heart Syndrome.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - See the Light.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - The Static Age.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - Viva La Gloria (Little Girl).mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - American Idiot.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Are We the Waiting.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Boulevard of Broken Dreams.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Extraordinary Girl.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Give Me Novacaine.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Holiday.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Homecoming.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Jesus of Suburbia.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Letterbomb.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - She's a Rebel.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - St. Jimmy.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Wake Me Up When September Ends.mp3 -C:/Users/Rik/Music/Artists/Green Day/American Idiot/Green Day - Whatsername.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - All the Time.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Armatage Shanks.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Bascet Case.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Brat.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Burnout.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Chump.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Church On Sunday.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Coming Clean.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Desensitized.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Emenius Sleepus.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Fashion Victim.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Geek Stink Breath.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Good Riddance (Time of Your Life).mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - In the End.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - J.A.R. (Jason Andrew Relva).mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Jaded.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Maria.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Nice Guys Finish Last.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Poprocks & Coke.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Redundant.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Scumbag.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - She.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Stuck With Me.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Suffocate.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - The Grouch.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - The Saints Are Coming.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Waiting.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Walking Alone.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Walking Contradiction.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Warning.mp3 -C:/Users/Rik/Music/Artists/Green Day/Greatest Hits/Green Day - Welcome to Paradise.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Addicted to Drugs.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Always Happens Like That.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Can't Say What I Mean.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Good Days Bad Days.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Half the Truth.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Like It Too Much.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Never Miss a Beat.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Spanish Metal.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - Tomato In the Rain.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Off With Their Heads/Kaiser Chiefs - You Want History.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Boxing Champ.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Everything Is Average Nowadays.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Heat Dies Down.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Highroyds.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - I Can Do Without You.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Learnt My Lesson Well.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Love's Not a Competition (But I'm Winning).mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - My Kind of Guy.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Retirement.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Ruby.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Thank You Very Much.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - The Angry Mob.mp3 -C:/Users/Rik/Music/Artists/Kaiser Chiefs/Yours Truly, Angry Mob/Kaiser Chiefs - Try Your Best.mp3 -C:/Users/Rik/Music/Artists/Keane/Keane - Everybody's Changing.mp3 -C:/Users/Rik/Music/Artists/Keane/Keane - Is It Any Wonder.mp3 -C:/Users/Rik/Music/Artists/Keane/Keane - Somewhere Only We Know.mp3 -C:/Users/Rik/Music/Artists/Keane/Keane - This Is the Last Time.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Again & Again.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Better Than This.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Black Burning Heart.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Lovers Are Losing.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Perfect Symmetry.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Playing Along.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Pretend That You're Alone.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - Spiralling.mp3 -C:/Users/Rik/Music/Artists/Keane/Perfect Symmetry/Keane - You Don't See Me.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - All That I Know.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - Franklin Exits.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - I Was Too Scared.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - Not As Bright.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - So Am I.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - The Heart of It.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - Thieves and Murderers.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - Waiting For a Sign.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - What's Gotten Into Us.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - When It All Falls Down.mp3 -C:/Users/Rik/Music/Artists/Kensington/Borders/Kensington - Youth.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Back Down South.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Beach Side.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Birthday.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Mary.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Mi Amigo.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - No Money.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Pickup Truck.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Pony Up.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Pyro.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - Radioactive.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - The End.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - The Face.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Come Around Sundown/Kings of Leon - The Immortals.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Be Somebody.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Closer.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Crawl.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - I Want You.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Manhattan.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Notion.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Sex On Fire.mp3 -C:/Users/Rik/Music/Artists/Kings of Leon/Only By The Night/Kings of Leon - Use Somebody.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - All In.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - All That I'm Asking For.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - By Your Side.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Crash and Burn.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Falling In.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - From Where You Are.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Had Enough.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Halfway Gone.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - In Your Skin.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - It Is What It Is.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Smoke & Mirrors.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Wrecking Ball.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Bridges.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Disarray.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Easier to Be.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - First Time.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Learn You Inside Out.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Make Me Over.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Mesmerized.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Storm.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Whatever It Takes.mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Who We Are/Lifehouse - Who We Are.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - A Place For My Head.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - Crawling.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - Forgotten.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - In the End.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - One Step Closer.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - Papercut.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - Points of Authority.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - Pushing Me Away.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - Runaway.mp3 -C:/Users/Rik/Music/Artists/Linking Park/Hybrid Theory/Linkin Park - With You.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - 4am Forever.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - A Town Called Hypocrisy.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Always All Ways (Apologies, Glances and Messed Up Chances).mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Broken Hearts, Torn Up Letters and the Story of a Lonely Girl.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Can't Catch Tomorrow (Good Shoes Won't Save You This Time).mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Can't Stop, Gotta Date With Hate.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Everybody's Screaming !!!.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Everyday Combat.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - For All These Times Son, For All These Times.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Heaven For the Weather, Hell For the Company.mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - Rooftops (A Liberation Broadcast).mp3 -C:/Users/Rik/Music/Artists/Lostprophets/Liberation Transmission/Lostprophets - The New Transmission.mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - Goody, Like Two Shoes.mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - Monsters.mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - My Mannequin Can Dance.mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - Portrait.mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - Singing Bridges (We All Fall).mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - Surrender.mp3 -C:/Users/Rik/Music/Artists/Matchbook Romance/Voices/Matchbook Romance - What a Sight.mp3 -C:/Users/Rik/Music/Artists/Neon Trees/Habits/Neon Trees - 1983.mp3 -C:/Users/Rik/Music/Artists/Neon Trees/Habits/Neon Trees - Animal.mp3 -C:/Users/Rik/Music/Artists/Neon Trees/Habits/Neon Trees - In the Next Room.mp3 -C:/Users/Rik/Music/Artists/Neon Trees/Habits/Neon Trees - Sins of My Youth.mp3 -C:/Users/Rik/Music/Artists/Neon Trees/Habits/Neon Trees - Your Surrender.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Dark Horse/Nickelback - Gotta Be Somebody.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Dark Horse/Nickelback - I'd Come For You.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Dark Horse/Nickelback - If Today Was Your Last Day.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Dark Horse/Nickelback - Just to Get High.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Dark Horse/Nickelback - Never Gonna Be Alone.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Dark Horse/Nickelback - This Afternoon.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Nickelback - How You Remind Me.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Nickelback - Photograph.mp3 -C:/Users/Rik/Music/Artists/OneRepublic/Waking Up/Onerepublic - All the Right Moves.mp3 -C:/Users/Rik/Music/Artists/OneRepublic/Waking Up/Onerepublic - Fear.mp3 -C:/Users/Rik/Music/Artists/OneRepublic/Waking Up/Onerepublic - Good Life.mp3 -C:/Users/Rik/Music/Artists/OneRepublic/Waking Up/Onerepublic - Secrets.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - All That We Needed.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Anything.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Breakdown.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Faster.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Last Call.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Lazy Day Afternoon.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - My Only One.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Revenge.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Sad Story.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Sing My Best.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - Take Me Away.mp3 -C:/Users/Rik/Music/Artists/Plain White T's/All That We Needed/Plain White T's - What More Do You Want.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Breaking the Girl.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - By the Way.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Californication.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Fortune Faded.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Give It Away.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Higher Ground.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - My Friends.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Otherside.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Parallel Universe.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Save the Population.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Scar Tissue.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Soul to Squeeze.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Under the Bridge.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Greatest Hits/Red Hot Chili Peppers - Universally Speaking.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Animal Bar.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Charlie.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - C'mon Girl.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Dani California.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Death of a Martian.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Desecration Smile.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Especially In Michigan.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Hard to Concentrate.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Hey.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - If.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Make You Feel Better.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - She Looks to Me.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - She's Only 18.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Slow Cheetah.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Snow (Hey Oh).mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - So Much I.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Stadium Arcadium.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Storm In a Teacup.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Strip My Mind.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Tell Me Baby.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Torture Me.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Turn It Again.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Warlocks.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - We Believe.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/Stadium Arcadium/Red Hot Chili Peppers - Wet Sand.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - All In Your Head.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - Are You Afraid.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - Believe In Me.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - Calling the World.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - Don't Come Around Again.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - I Should've Been After You.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - Love Me Or Leave Me.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - Paralyzed.mp3 -C:/Users/Rik/Music/Artists/Rooney/Calling The World/Rooney - What For.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - A Thousand Words.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - Break Me Shake Me.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - Carry On Dancing.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - I Want You.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - To the Moon and Back.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - Truly Madly Deeply.mp3 -C:/Users/Rik/Music/Artists/Savage Garden/Savage Garden/Savage Garden - Violet.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - Generation.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - I Can Wait Forever.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - No Love.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - Running Out of Time.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - Save You.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - Take My Hand.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - The End.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - Time to Say Goodbye.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - What If.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - When I'm Gone (Acoustic).mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - When I'm Gone.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Simple Plan/Simple Plan - Your Love Is a Lie.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/A Hundred Million Suns/Snow Patrol - Crack the Shutters.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/A Hundred Million Suns/Snow Patrol - Disaster Button.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/A Hundred Million Suns/Snow Patrol - Engines.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/A Hundred Million Suns/Snow Patrol - If There's a Rocket Tie Me to It.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/A Hundred Million Suns/Snow Patrol - Please Just Take These Photos From My Hands.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/A Hundred Million Suns/Snow Patrol - Take Back the City.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - Chasing Cars.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - Hands Open .mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - Headlights On Dark Roads.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - In My Arms.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - It's Beginning to Get to Me.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - Open Your Eyes .mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - Shut Your Eyes .mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - Warmer Climate.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Eyes Open/Snow Patrol - You're All I Have.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Snow Patrol - Chocolate.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Snow Patrol - Just Say Yes.mp3 -C:/Users/Rik/Music/Artists/Snow Patrol/Snow Patrol - Run.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - Anxiety Is Setting In.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - Good-Bye.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - In Essence We Are Falling.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - In Loving Memory Of....mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - Over Exposed Photo.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - Talking In Circles.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - The Burden.mp3 -C:/Users/Rik/Music/Artists/So They Say/Antidote for Irony/So They Say - You Asked, Where Are You Now.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Anna.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Dying.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Hate Not Gone.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Hesitate.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Home Again.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Imperfect.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Let's Be Honest.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Miracles.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Mission Statement.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Nylon 66.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Pieces.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Say You'll Haunt Me.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - The Bitter End.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Threadbare.mp3 -C:/Users/Rik/Music/Artists/Stone Sour/Audio Secrecy/Stone Sour - Unfinished.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Baby You Don't Wanna Know.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Back Where I Belong.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Blood In My Eyes.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Crash.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Exit Song.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Happiness Machine.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Holy Image of Lies.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Jessica Kill.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Reason to Believe (Acoustic).mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Reason to Believe.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Screaming Bloody Murder.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Sick of Everyone.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Skumfuk.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - Time For You to Go.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - What Am I to Say.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Best of Me.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Confusion and Frustration In Modern Times.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Count Your Last Blessings.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Dear Father.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - King of Contradiction.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - March of the Dogs.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Pull the Curtain.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - So Long Goodbye.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Speak of the Devil.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - The Jester.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Underclass Hero.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - Walking Disaster.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Underclass Hero/Sum 41 - With Me.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Almost Here.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Attention.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Black Mamba.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Checkmarks.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Classifieds.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Down and Out.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Season.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - Skeptics and True Believers.mp3 -C:/Users/Rik/Music/Artists/The Academy Is/Almost Here/The Academy Is... - The Phrase That Pays.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - 11.11 P.M.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - Change Your Mind.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - Dance Inside.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - Dirty Little Secret.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - I'm Waiting.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - Move Along.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - Stab My Back.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/Move Along/The All-American Rejects - Top of the World.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Another Heart Calls.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Back to Me.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Believe.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Breakin'.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Damn Girl.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Fallin' Apart.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Gives You Hell.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - I Wanna.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Mona Lisa.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Real World.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - Sunshine.mp3 -C:/Users/Rik/Music/Artists/The All-American Rejects/When The World Comes Down/The All-American Rejects - The Wind Blows.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - All At Once.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Dead Wrong.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Fall Away.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Heaven Forbid.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - How to Save a Life.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Hundred.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Little House.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Look After You.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Over My Head (Cable Car).mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - She Is.mp3 -C:/Users/Rik/Music/Artists/The Fray/How To Save A Life/The Fray - Trust Me.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Bumpy Ride.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Choices.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Giddy Up.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Glorious.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Live By the Ocean.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Made to Measure.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Sarajevo.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Unlikely Hero.mp3 -C:/Users/Rik/Music/Artists/The Hoosiers/The Illusion Of Safety/The Hoosiers - Who Said Anything (About Falling In Love).mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - A Crippling Blow.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - A Dustland Fairytale.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - Human.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - I Can't Stay.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - Joy Ride.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - Losing Touch.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - Neon Tiger.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - Spaceman.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - The World We Live In.mp3 -C:/Users/Rik/Music/Artists/The Killers/Day & Age/The Killers - This Is Your Life.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - All These Things That I've Done.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Andy, You're a Star.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Believe Me Natalie.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Everything Will Be Alright.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Glamorous Indie Rock & Roll.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Indie Rock & Roll.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Jenny Was a Friend of Mine.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Midnight Show.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Mr Brightside.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Mr. Brightside.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - On Top.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Smile Like You Mean It.mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - The Ballad of Michael Valentine (Bonus).mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Under the Gun (Bonus).mp3 -C:/Users/Rik/Music/Artists/The Killers/Hot Fuss/The Killers - Who Let You Go (Bonus).mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - (Can't Get My) Head Around You.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - All I Want.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Can't Repeat.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Come Out and Play (Keep 'em Separated).mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Defy You.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Gone Away.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Gotta Get Away.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Hit That.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Original Prankster.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Pretty Fly (For a White Guy).mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Self Esteem.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - The Kids Aren't Alright.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Want You Bad.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Greatest Hits/The Offspring - Why Don't You Get a Job.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - Dead Man Walking.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - Exit Wounds.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - For the First Time.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - If You Ever Come Back.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - Long Gone and Moved On.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - Nothing.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - Science & Faith.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - This = Love.mp3 -C:/Users/Rik/Music/Artists/The Script/Science & Faith/The Script - You Won't Feel a Thing.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - Before the Worst.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - Breakeven.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - Fall For Anything.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - Rusty Halo.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - Talk You Down.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - The End Is Where I Begin.mp3 -C:/Users/Rik/Music/Artists/The Script/The Script/The Script - The Man Who Can't Be Moved.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Bitter Taste.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Break.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Goin' Down.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Last to Know.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Life Starts Now.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Lost In You.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - No More.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Someone Who Cares.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - The Good Life.mp3 -C:/Users/Rik/Music/Artists/Three Days Grace/Life Starts Now/Three Days Grace - Without You.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - Breathe.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - Get On Your Boots.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - I'll Go Crazy If I Don't Go Crazy Tonight.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - Magnificent.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - No Line On the Horizon.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - Stand Up Comedy.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - Unknown Caller.mp3 -C:/Users/Rik/Music/Artists/U2/No Line On The Horizon/U2 - White As Snow.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Beautiful Day.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Elevation.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - I Still Haven't Found What I'm Looking For.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - New Year's Day.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - One.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Stuck In a Moment You Can't Get Out of.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Sunday Bloody Sunday .mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Sweetest Thing.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - The City of Blinding Lights.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Vertigo.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - Where the Streets Have No Name.mp3 -C:/Users/Rik/Music/Artists/U2/U2 - With Or Without You.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - All My Friends Are Insects (Bonus Track).mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Brave New World.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Hang On.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - I Want to Be Something (Bonus Track).mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Memories.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Represent (Rocked Out Mix) %5Bbonus Track%5D.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Ruling Me.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Run Away.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Smart Girls.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Time Flies.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Trainwrecks.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Unspoken.mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Viva La Vida (Bonus Track).mp3 -C:/Users/Rik/Music/Artists/Weezer/Hurley/Weezer - Where's My Sex.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Afraid.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Cut Me, Mick.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Date Line (I Am Gone).mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Dear Bobbie.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Fighting.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Five Become Four.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Keeper.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Light Up the Sky.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Paper Walls.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Shadows and Regrets.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - Shrink the World.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - The Takedown.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Paper Walls/Yellowcard - You and Me and One Spotlight.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/Yellowcard - October Nights.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Contagious Chemistry.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Fireworks.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Hard to Swallow.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Liquid Confidence.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Playing the Blame Game.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Safer to Hate Her.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Stay With Me.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Take Your Breath Away.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - There's No Such Thing As Accident.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Trophy Eyes.mp3 -C:/Users/Rik/Music/Artists/You Me At Six/Hold Me Down/You Me At Six - Underdog.mp3 -C:/Users/Rik/Music/Old/Bad English - Time Stood Still.mp3 -C:/Users/Rik/Music/Old/Bon Jovi/Bon Jovi - In These Arms.mp3 -C:/Users/Rik/Music/Old/Bon Jovi/Bon Jovi - Livin' On a Prayer.mp3 -C:/Users/Rik/Music/Old/Don Henley - The Boys of Summer.mp3 -C:/Users/Rik/Music/Old/Duran Duran/Duran Duran - Ordinary World.mp3 -C:/Users/Rik/Music/Old/Duran Duran/Duran Duran - The Reflex.mp3 -C:/Users/Rik/Music/Old/Europe - The Final Countdown.mp3 -C:/Users/Rik/Music/Old/Genesis/Genesis - Land of Confusion.mp3 -C:/Users/Rik/Music/Old/Midnight Oil - Beds Are Burning.mp3 -C:/Users/Rik/Music/Old/No Doubt/No Doubt - It's My Life.mp3 -C:/Users/Rik/Music/Old/Survivor - Eye of the Tiger.mp3 -C:/Users/Rik/Music/Various/3 Doors Down/3 Doors Down - Here Without You.mp3 -C:/Users/Rik/Music/Various/3 Doors Down/3 Doors Down - Kryptonite.mp3 -C:/Users/Rik/Music/Various/A Silent Express - Will I Be Around.mp3 -C:/Users/Rik/Music/Various/Adam Lambert - Whataya Want From Me.mp3 -C:/Users/Rik/Music/Various/Alphabeat - The Spell.mp3 -C:/Users/Rik/Music/Various/Anouk/Anouk - Girl.mp3 -C:/Users/Rik/Music/Various/Anouk/Anouk - Nobody's Wife.mp3 -C:/Users/Rik/Music/Various/Anouk/Anouk - R U Kiddin' Me.mp3 -C:/Users/Rik/Music/Various/Avril Lavigne/Avril Lavigne - What the Hell.mp3 -C:/Users/Rik/Music/Various/Biffy Clyro - Many of Horror.mp3 -C:/Users/Rik/Music/Various/Brandon Flowers - Crossfire.mp3 -C:/Users/Rik/Music/Various/Carolina Liar - Show Me What Im Looking For.mp3 -C:/Users/Rik/Music/Various/Chumbawamba - Tubthumping.mp3 -C:/Users/Rik/Music/Various/Eagle Eye Cherry - Save Tonight.mp3 -C:/Users/Rik/Music/Various/Esm%C3%A9e Denters - Outta Here.mp3 -C:/Users/Rik/Music/Various/Falco Luneau - Nobody.mp3 -C:/Users/Rik/Music/Various/Freemasons - Uninvited.mp3 -C:/Users/Rik/Music/Various/Gavin DeGraw/Gavin Degraw - Chariot.mp3 -C:/Users/Rik/Music/Various/Gavin DeGraw/Gavin Degraw - Follow Through.mp3 -C:/Users/Rik/Music/Various/Gavin DeGraw/Gavin Degraw - In Love With a Girl.mp3 -C:/Users/Rik/Music/Various/Intwine - Happy.mp3 -C:/Users/Rik/Music/Various/Jaap - Don't Stop Believin'.mp3 -C:/Users/Rik/Music/Various/Jonas Brothers - Burnin' Up.mp3 -C:/Users/Rik/Music/Various/Joshua Radin - I'd Rather Be With You.mp3 -C:/Users/Rik/Music/Various/Kevin Rudolf - Let It Rock.mp3 -C:/Users/Rik/Music/Various/Kid Rock - All Summer Long.mp3 -C:/Users/Rik/Music/Various/Kylie Minogue/Kylie Minogue - All the Lovers.mp3 -C:/Users/Rik/Music/Various/Kylie Minogue/Kylie Minogue - Get Outta My Way.mp3 -C:/Users/Rik/Music/Various/Kylie Minogue/Kylie Minogue - Love At First Sight.mp3 -C:/Users/Rik/Music/Various/Kylie Minogue/Kylie Minogue - Wow.mp3 -C:/Users/Rik/Music/Various/Lenny Kravitz/Lenny Kravitz - Again.mp3 -C:/Users/Rik/Music/Various/Lenny Kravitz/Lenny Kravitz - Fly Away.mp3 -C:/Users/Rik/Music/Various/Liquido - Narcotic.mp3 -C:/Users/Rik/Music/Various/Live/Live - Heaven.mp3 -C:/Users/Rik/Music/Various/Live/Live - Overcome.mp3 -C:/Users/Rik/Music/Various/Live/Live - Run to the Water.mp3 -C:/Users/Rik/Music/Various/Live/Live - Selling the Drama.mp3 -C:/Users/Rik/Music/Various/Live/Live - The River.mp3 -C:/Users/Rik/Music/Various/Mando Diao - Dance With Somebody.mp3 -C:/Users/Rik/Music/Various/Maroon 5/Maroon 5 - Misery.mp3 -C:/Users/Rik/Music/Various/Maroon 5/Maroon 5 - Won't Go Home Without You.mp3 -C:/Users/Rik/Music/Various/Melee/Melee - Built to Last.mp3 -C:/Users/Rik/Music/Various/Melee/Melee - Imitation.mp3 -C:/Users/Rik/Music/Various/Mike Posner - Cooler Than Me.mp3 -C:/Users/Rik/Music/Various/Novastar/Novastar - Because.mp3 -C:/Users/Rik/Music/Various/Novastar/Novastar - Waiting So Long.mp3 -C:/Users/Rik/Music/Various/Oasis - Wonderwall.mp3 -C:/Users/Rik/Music/Various/One Night Only - Just For Tonight.mp3 -C:/Users/Rik/Music/Various/Robyn - With Every Heartbeat.mp3 -C:/Users/Rik/Music/Various/Roxette/Roxette - How Do You Do!.mp3 -C:/Users/Rik/Music/Various/Roxette/Roxette - It Must Have Been Love.mp3 -C:/Users/Rik/Music/Various/Roxette/Roxette - Joyride.mp3 -C:/Users/Rik/Music/Various/Roxette/Roxette - Listen to Your Heart.mp3 -C:/Users/Rik/Music/Various/Roxette/Roxette - The Look.mp3 -C:/Users/Rik/Music/Various/Scissor Sisters - Fire With Fire.mp3 -C:/Users/Rik/Music/Various/Scouting For Girls - Take a Change On Us.mp3 -C:/Users/Rik/Music/Various/Scouting for Girls/Scouting For Girls - Famous.mp3 -C:/Users/Rik/Music/Various/Scouting for Girls/Scouting For Girls - This Ain't a Love Song.mp3 -C:/Users/Rik/Music/Various/September/September - Can't Get Over.mp3 -C:/Users/Rik/Music/Various/September/September - Cry For You.mp3 -C:/Users/Rik/Music/Various/Sick Puppies - Maybe.mp3 -C:/Users/Rik/Music/Various/Simple Minds - Don't You (Forget About Me).mp3 -C:/Users/Rik/Music/Various/Spin Doctors - Two Princes.mp3 -C:/Users/Rik/Music/Various/Swedish House Mafia - One (Your Name).mp3 -C:/Users/Rik/Music/Various/Taio Cruz - Break Your Heart.mp3 -C:/Users/Rik/Music/Various/The Calling - Wherever You Will Go.mp3 -C:/Users/Rik/Music/Various/The Naked & Famous - Young Blood.mp3 -C:/Users/Rik/Music/Various/The Rasmus - In the Shadows.mp3 -C:/Users/Rik/Music/Various/Train/Train - Drops of Jupiter.mp3 -C:/Users/Rik/Music/Various/Train/Train - Hey, Soul Sister.mp3 -C:/Users/Rik/Music/Various/Train/Train - If It's Love.mp3 -C:/Users/Rik/Music/Various/Wheatus - Teenage Dirtbag.mp3 -C:/Users/Rik/Music/Various/Within Temptation - Faster.mp3 -C:/Users/Rik/Music/Various/Jason Derulo - In My Head.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - Better Off.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Wasting Light/Foo Fighters - I Should Have Known.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Always Be.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Big Casino.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Carry You.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Chase This Light.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Dizzy.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Electable (Give It Up).mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Feeling Lucky.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Firefight.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Gotta Be Somebody's Blues.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Here It Goes.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Chase The Light/Jimmy Eat World - Let It Happen.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Crazy.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Everytime.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Jump.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Me Against The World.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - One.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Perfect World.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Promise.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Shut Up.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Thank You.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Untitled.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Still Not Getting Any/Simple Plan - Welcome To My Life.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - 16 Dollars.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - 7 Shots.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - A Better Believer.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - A New Day.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - A Warrior's Call.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - Being 1.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - Fallen.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - Heaven Nor Hell.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - Magic Zone.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - Thanks.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - The Mirror and the Ripper.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Beyond Hell-Above Heaven/Volbeat - Who They Are.mp3 -C:/Users/Rik/Music/Various/Beady Eye - The Roller.mp3 -C:/Users/Rik/Music/Various/Depeche Mode - Just Can't Get Enough.mp3 -C:/Users/Rik/Music/Various/Kelly Clarkson/Kelly Clarkson - Because of You.mp3 -C:/Users/Rik/Music/Various/Kelly Clarkson/Kelly Clarkson - Behind These Hazel Eyes.mp3 -C:/Users/Rik/Music/Various/Kelly Clarkson/Kelly Clarkson - Since U Been Gone.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - American Slang.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - Boxer.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - Bring It On.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - Old Haunts.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - Orphans.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - Stay Lucky.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - The Diamond Church Street Choir.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - The Queen Of Lower Chelsea.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - The Spirit Of Jazz.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/American Slang/The Gaslight Anthem - We Did It When We Were Young.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Break Away.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Every You Every Me.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Jesus Only Knows.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Love Is Gone.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Ordinary Day.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - People.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Save Me Now.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - These Are the Days.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Today I Break Loose.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Triple X.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - Wake Me Up.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - We Can Stay.mp3 -C:/Users/Rik/Music/Artists/Blind/Blind/Blind - You.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Do What You Do.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Doctor.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Hollywood.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Loser.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Marriage to Millions.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Miss Sobriety.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Navigate Me.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Practice Makes Perfect.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Safe Ride.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - The Lock Down Denial.mp3 -C:/Users/Rik/Music/Artists/Cute Is What We Aim For/Rotation/Cute Is What We Aim For - Time.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Artbreaker I.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Artbreaker II.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - For Better Or Hearse.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Giving Up.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Hunt the Haunted.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Lilli Rose.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Matters At All.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Maybe Tomorrow.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Sunshine.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - The Best Is Yet To Come.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - The Morning Afterlife.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Undercover Lover.mp3 -C:/Users/Rik/Music/Artists/Kids In Glass Houses/Dirt/Kids In Glass Houses - Youngblood (Let It Out).mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Anywhere Else But Here.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Astronaut.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Can't Keep My Hands Off You.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Freaking Me Out.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Gone Too Soon.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Jet Lag.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Last One Standing.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - Loser Of The Year.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - This Song Saved My Life.mp3 -C:/Users/Rik/Music/Artists/Simple Plan/Get Your Heart On!/Simple Plan - You Suck At Love.mp3 -C:/Users/Rik/Music/Various/The Von Bondies - C%60Mon C%60Mon.mp3 -C:/Users/Rik/Music/Various/White Stripes - Seven Nation Army.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - 16.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - Holiday.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - Sal Paradise.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - Take Me Home.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - Thank You.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - The Boy Who Cried Wolf.mp3 -C:/Users/Rik/Music/Artists/Futures/The Holiday/Futures - The Summer.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Audience of One.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Collapse (Post-Amerika).mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Elective Amnesia.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Entertainment.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - From Heads Unworthy.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Hairline Fracture.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Hero of War.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Kotov Syndrome.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Long Forgotten Sons.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Prayer of the Refugee.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Re-Education (Through Labor).mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Savior.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - The Dirt Whispered.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - The Strength to Go On.mp3 -C:/Users/Rik/Music/Artists/Rise Against/Appeal To Reason/Rise Against - Whereabouts Unknown.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - A Place To Hide.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - Death.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - E.S.T..mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - Farewell To The Fairground.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - Fifty On Our Foreheads.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - From The Stars.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - Nothing To Give.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - The Price Of Love.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - To Lose My Life.mp3 -C:/Users/Rik/Music/Artists/White Lies/To Lose My Life/White Lies - Unfinished Business.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Be the Young.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - For You and Your Denial.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Hang You Up.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Hide.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Life of Leaving Home.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Promises.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - See Me Smiling.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Sing for Me (Acoustic).mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Sing for Me.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - Soundtrack.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - The Sound of You and Me.mp3 -C:/Users/Rik/Music/Artists/Yellowcard/When You're Through Thinking, Say Yes/Yellowcard - With You Around.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - Bang The Doldrums.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - Don't You Know Who I Think I Am.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - Fame.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - Hum Hallelujah.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - I'm Like A Lawyer With The Way I'm Always Trying To Get You Off (me+you).mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - I've Got All This Ringing In My Ears And None On My Fingers.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - Thanks For The Memories.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - The (After) Life Of The Party.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - The Carpal Tunnel Of Love.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - The Take Over, The Breaks Over.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - This Ain't A Scene, It's An Arms Race.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - Thriller.mp3 -C:/Users/Rik/Music/Artists/Fall Out Boy/Infinity On High/Fall Out Boy - You're Crashing, But You're No Wave.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Action Needs An Audience.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Coffee And Cigarettes.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Cut.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Evidence.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Heart Is Hard To Find.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Higher Devotion.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Invented.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Littlething.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Mixtape.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Movielike.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - My Best Theory.mp3 -C:/Users/Rik/Music/Artists/Jimmy Eat World/Invented/Jimmy Eat World - Stop.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Best Is Yet to Come.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Buried Beneath.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Faceless.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Feed the Machine.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Hymn for the Missing.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Let It Burn.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Lie to Me (Denial).mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Not Alone.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - The Outside.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Watch You Crawl.mp3 -C:/Users/Rik/Music/Artists/Red/Until We Have Faces/Red - Who We Are.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Back To Go Again.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Bittersweet Sundown.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Fool With Dreams.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Intro.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Livin' So Divine.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Photographs & Gasoline.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - The Burn.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - The Promise.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Wake Up.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - WarZone.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - Weight of The World.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - You Stupid Girl.mp3 -C:/Users/Rik/Music/Artists/Framing Hanley/A Promise To Burn/Framing Hanley - You.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - (Fin).mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - A Whisper & A Clamour.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Adelaide.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Alexithymia.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Debut.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Dismantle. Repair.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Godspeed.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Hello Alone.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Inevitable.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Reclusion.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - The Promise.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - The Unwinding Cable Car.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - There Is A Light That Never Goes Dope.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - There Is No Mathematics To Love And Loss.mp3 -C:/Users/Rik/Music/Artists/Anberlin/Cities/Anberlin - Uncanny.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Blame Me! Blame Me!.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Breaking.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Breathe.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Burn Out Brighter (Northern Lights).mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Disappear.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Feel Good Drag.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Haight St.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Misearbile Visu (Ex Malo Bonum).mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Retrace.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Soft Skeletons.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - The Resistance.mp3 -C:/Users/Rik/Music/Artists/Anberlin/New Surrender/Anberlin - Younglife.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Antichrist Television Blues.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Black Mirror.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Black WaveBad Vibrations.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Intervention.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Keep The Car Running.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - No Cars Go.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Ocean Of Noise.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Well & The Lighthouse, The.mp3 -C:/Users/Rik/Music/Artists/Arcade Fire/Neon Bible/Arcade Fire - Windowsill.mp3 -C:/Users/Rik/Music/Artists/Green Day/21st Century Breakdown/Green Day - %C2%A1Viva la Gloria!.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - 1990.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - Angry Johnny and the Radio.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - Bomboxes and Dictionaries.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - Drive.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - I Coul'da Been a Contender.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - I'da Called You Woody, Joe.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - Red in the Morning.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - We Came to Dance.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - We're Getting A Divorce, You Keep The Dinner.mp3 -C:/Users/Rik/Music/Artists/The Gaslight Anthem/Sink or Swim/The Gaslight Anthem - Wooderson.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Back To Prom.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Broken Man And The Dawn.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - End Of The Road.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Find That Soul.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Guitar Gangsters & Cadillac Blood.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Hallelujah Goat.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - I'm So Lonesome I Could Cry.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Light A Way.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Making Believe.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Mary Ann' s Place.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Maybellene I Hofteholder.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Still Counting.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - We.mp3 -C:/Users/Rik/Music/Artists/Volbeat/Guitar Gangsters & Cadillac Blood/Volbeat - Wild Rover Of Hell.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Bulletproof Heart.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Destroya.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Party Poison.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Planetary (Go!).mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Save Yourself- I'll Hold Them Back.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - S-C-A-R-E-C-R-O-W.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Sing.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Summertime.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - The Kids From Yesterday.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - The Only Hope For Me Is You.mp3 -C:/Users/Rik/Music/Artists/My Chemical Romance/Danger Days - The True Lives Of The Fabulous Killjoys/My Chemical Romance - Vampire Money.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Eyes Like Headlights.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - I Don't Dare.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - It's True.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Life Is Wrong.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - No Direction.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Satellites.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Secrets Are Sinister.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Shining Hours.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Sideways Sideways Rain.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - Sirens In The Deep Sea.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Annie Wants a Baby.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Brendan's Death Song.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Dance, Dance, Dance.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Did I Let You Know.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Ethiopia.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Even You Brutus.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Factory of Faith.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Goodbye Hooray.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Happiness Loves Company.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Look Around.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Meet Me At the Corner.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Monarchy of Roses.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - Police Station.mp3 -C:/Users/Rik/Music/Artists/Red Hot Chili Peppers/I'm With You/Red Hot Chili Peppers - The Adventures of Rain Dance Maggie.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - An Anthem For The Young At Heart.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - Burdens Of The Past.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - Conviction.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - Shine.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - Something To Be Said.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - The Best Mistake.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - The Girl Who Destroys.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - The Good Life.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - Three Words.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - We Can't Fake This.mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - What Matters Most.mp3 -C:/Users/Rik/Music/Old/Nirvana - Smells Like Teen Spirit.mp3 -C:/Users/Rik/Music/Artists/10 Years Feeding/Feeding the Wolves/10 Years - Don't Fight It.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Broken Open.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Bulldozer.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Cold Toes On The Cold Floor.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Finally Begin.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Louder Than Ever.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Mine Is Yours.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Out Of The Wilderness.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Royal Blue.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Sensitive Kid.mp3 -C:/Users/Rik/Music/Artists/Cold War Kids/Mine Is Yours/Cold War Kids - Skip The Charades.mp3 -C:/Users/Rik/Music/Artists/Sum 41/Screaming Bloody Murder/Sum 41 - We're the Same.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - A Fortnight's Time.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Books From Boxes.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - By The Monument.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Girls Who Play Guitars.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Karaoke Plays.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Nosebleed.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Our Velocity.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Parisian Skies.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Russian Literature.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Sandblasted And Set Free.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - The Unshockable.mp3 -C:/Users/Rik/Music/Artists/Maximo Park/Our Earthly Pleasures/Maximo Park - Your Urge.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - 100MPH.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Beerbottle.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Could You Be The One.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - I Got Your Number.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Innocent.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Live 'N' Love.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - She's Alright.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Show Me How.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Stuck In A Rut.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Trouble.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Uppercut.mp3 -C:/Users/Rik/Music/Artists/Stereophonics/Keep Calm and Carry On/Stereophonics - Wonder.mp3 -C:/Users/Rik/Music/Artists/Foo Fighters/Greatest Hits/Foo Fighters - Everlong (Acoustic).mp3 -C:/Users/Rik/Music/Artists/Lifehouse/Smoke & Mirrors/Lifehouse - Everything (Live).mp3 -C:/Users/Rik/Music/Artists/Amber Pacific/Virtues/Amber Pacific - Forever.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - After Midnight.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Even If She Falls.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Fighting the Gravity.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Ghost On The Dance Floor.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Heart's All Gone (Interlude).mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Heart's All Gone.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Kaleidoscope.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Love Is Dangerous.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Mh 4.18.2011.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Natives.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Snake Charmer.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - This Is Home.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Up All Night.mp3 -C:/Users/Rik/Music/Artists/Blink-182/Neighborhoods/Blink-182 - Wishing Well.mp3 -C:/Users/Rik/Music/Artists/Longwave/Secrets Are Sinister/Longwave - The Devil And The Liar.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - All I Can Do.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Believe It.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Can You Handle Me.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Catwalk Criminal.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Damn Those Eyes.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Dreamer.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Fearless.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Hold On to the World.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - I Will Keep My Head Down.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - In Over My Head.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - It's London Calling.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Let It Be.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Love Over Healing.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - My Best Wasn't Good Enough.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - No Surrender.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Rain Down On Me.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Scream.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Shot of a Gun.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - So Glad You Made It.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Something to Say.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Wanna Make It Happen.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - Where Do I Go Now.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - A Hopeful Transmission.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Charlie Brown.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Don't Let It Break Your Heart.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Every Teardrop Is a Waterfall.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Hurts Like Heaven.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - M.M.I.X..mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Major Minus.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Mylo Xyloto.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Paradise.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Princess of China.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - U.F.O..mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Up in Flames.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Up with the Birds.mp3 -C:/Users/Rik/Music/Artists/Coldplay/Mylo Xyloto/Coldplay - Us Against the World.mp3 -C:/Users/Rik/Music/Artists/Kane/Singles Only/Kane - High Places.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Bad Love.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Bigger Than Us.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Come Down.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Holy Ghost.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Is Love.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Peace & Quiet.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Strangers.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Streetlights.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - The Power & The Glory.mp3 -C:/Users/Rik/Music/Artists/White Lies/Ritual/White Lies - Turn The Bells.mp3 -C:/Users/Rik/Music/Artists/Destine/Destine - Thousand Miles.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Dive Into The Blue Sky.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Eyes Gone Blind.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Fallen Leaves.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Rain Down On Me.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Raining.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Setting Sails.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - The Borderline.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - The Enemy.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Wasted.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - What We Are.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Where Do We Go.mp3 -C:/Users/Rik/Music/Artists/The Seer/Heading for the Sun/The Seer - Wishful Thinking.mp3 -C:/Users/Rik/Music/Old/Bruce Springsteen/Bruce Springsteen - The River.mp3 -C:/Users/Rik/Music/Archive/Artists/Snow Patrol/Fallen Empires/Snow Patrol - Called Out In The Dark.mp3 -C:/Users/Rik/Music/Archive/Artists/Snow Patrol/Fallen Empires/Snow Patrol - This Isn't Everything You Are.mp3 -C:/Users/Rik/Music/Archive/Artists/The Wombats/This Modern Glitch/The Wombats - Techno Fan.mp3 -C:/Users/Rik/Music/Archive/Artists/The Wombats/This Modern Glitch/The Wombats - Tokyo (Vampires & Wolves).mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - A Lot Like Me.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Fix You.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Half-Truism.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Hammerhead.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Kristy, Are You Doing Okay.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Let's Hear It For Rock Bottom.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Nothingtown.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - O.C. Life.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Rise And Fall.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Stuff Is Messed Up.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Takes Me Nowhere.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - Trust In You.mp3 -C:/Users/Rik/Music/Artists/The Offspring/Rise and Fall Rage and Grace/The Offspring - You're Gonna Go Far, Kid.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Bottoms Up.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Don't Ever Let It End.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Everything I Wanna Do.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Gotta Get Me Some.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Holding On to Heaven.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Kiss It Goodbye.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Lullaby.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Midnight Queen.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - This Means War.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - Trying Not to Love You.mp3 -C:/Users/Rik/Music/Artists/Nickelback/Here and Now/Nickelback - When We Stand Together.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - A Lack of Understanding.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - All in White.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Blow It Up.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Family Friend.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - If You Wanna.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - N%C3%B8rgaard.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Post Break-Up Sex.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Under Your Thumb.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Westsuit.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Wolf Pack.mp3 -C:/Users/Rik/Music/Artists/The Vaccines/What Did You Expect From The Vaccines/The Vaccines - Wreckin' Bar.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Call Your Name.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Every Time You Turn Around.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Ghost Of Me.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Learn My Lesson.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Life After You.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - No Surprise.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Open Up Your Eyes.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - September.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Supernatural.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - Tennessee Line.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - What I Meant To Say.mp3 -C:/Users/Rik/Music/Artists/Daughtry/Leave This Town/Daughtry - You Don't Belong.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Black And Blue.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Ghost.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Heaven.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Lament.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Love My Life.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Nobody's Listening.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Switch.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Terrible End.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - The Long & Dangerous Sea.mp3 -C:/Users/Rik/Music/Artists/Moke/The Long & Dangerous Sea/Moke - Windows Of Hope.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Ashtray Heart.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Battle for the Sun.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Breathe Underwater.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Bright Lights.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Come Undone.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Devil in the Details.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - For What It's Worth.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Happy You're Gone.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Julien.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Kings of Medicine.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Kitty Litter.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - Speak in Tongues.mp3 -C:/Users/Rik/Music/Artists/Placebo/Battle for the Sun/Placebo - The Never-Ending Why.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - Back In Time.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - Clear Skies.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - House Lights.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - Ishin Denshin (You've Got To Help Yourself).mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - Looking Back.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - My Shadow.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - Stop For a Minute.mp3 -C:/Users/Rik/Music/Artists/Keane/Night Train/Keane - Your Love.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - A Bad Dream.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Atlantic.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Broken Toy.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Crystal Ball.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Hamburg Song.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Is It Any Wonder.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Leaving So Soon.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Let It Slide .mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Nothing In My Way.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Put It Behind You.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - The Frog Prince.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - The Iron Sea.mp3 -C:/Users/Rik/Music/Artists/Keane/Under The Iron Sea/Keane - Try Again.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - 6 Months.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Arizona.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Candles.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Homecoming.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - How You Love Me Now.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Hurricane Streets.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Josey.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Obvious.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Run, Don't Walk.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Set Off.mp3 -C:/Users/Rik/Music/Artists/Hey Monday/Hold On Tight/Hey Monday - Should've Tried Harder.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Anything.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Breakdown.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Cover Me.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Epilogue.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Mistakes we Knew we Were Making.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Painless.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Prologue.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Ready and Waiting to Fall.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Someone Else's Arms.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - Suspension.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - The Everglow.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - The Ocean.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - The Sun and the Moon.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - This is the Countdown.mp3 -C:/Users/Rik/Music/Artists/Mae/The Everglow/Mae - We're So Far Away.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - All I'm Losing Is Me.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - At Your Funeral.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Cars And Calories.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Certain Tragedy.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Firefly.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Freakish.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Jukebox Breakdown.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Nightingale.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - See You.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - This Is Not An Exit.mp3 -C:/Users/Rik/Music/Artists/Saves the Day/Saves the Day - Your Ghost Takes Flight.mp3 \ No newline at end of file diff --git a/java/exec.sound/src/main/resources/txt/testfiles.txt b/java/exec.sound/src/main/resources/txt/testfiles.txt deleted file mode 100644 index 6c2c2b6..0000000 --- a/java/exec.sound/src/main/resources/txt/testfiles.txt +++ /dev/null @@ -1,12 +0,0 @@ -junk (with or without header) -PCM_SIGNED 8000.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian --r 8k -t s16 -c 1 -e signed-integer - - -out (without header) -PCM_SIGNED 8000.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian --r 128k -t s32 -c 2 -2 signed integer [reasonable] - -out (without header) -PCM_SIGNED 192000.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian --r 192k -t s16 -c 2 [-e signed-integer] \ No newline at end of file diff --git a/java/exec.sound/src/test/java/test/SoundAudit.java b/java/exec.sound/src/test/java/test/SoundAudit.java deleted file mode 100644 index 1d7373a..0000000 --- a/java/exec.sound/src/test/java/test/SoundAudit.java +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer <rik.veenboer@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package test; - -import javax.sound.sampled.*; -public class SoundAudit { - public static void main(String[] args) { try { - System.out.println("OS: "+System.getProperty("os.name")+" "+ - System.getProperty("os.version")+"/"+ - System.getProperty("os.arch")+"\nJava: "+ - System.getProperty("java.version")+" ("+ - System.getProperty("java.vendor")+")\n"); - for (Mixer.Info thisMixerInfo : AudioSystem.getMixerInfo()) { - System.out.println("Mixer: "+thisMixerInfo.getDescription()+ - " ["+thisMixerInfo.getName()+"]"); - Mixer thisMixer = AudioSystem.getMixer(thisMixerInfo); - for (Line.Info thisLineInfo:thisMixer.getSourceLineInfo()) { - if (thisLineInfo.getLineClass().getName().equals( - "javax.sound.sampled.Port")) { - Line thisLine = thisMixer.getLine(thisLineInfo); - thisLine.open(); - System.out.println(" Source Port: " - +thisLineInfo.toString()); - for (Control thisControl : thisLine.getControls()) { - System.out.println(AnalyzeControl(thisControl));} - thisLine.close();}} - for (Line.Info thisLineInfo:thisMixer.getTargetLineInfo()) { - if (thisLineInfo.getLineClass().getName().equals( - "javax.sound.sampled.Port")) { - Line thisLine = thisMixer.getLine(thisLineInfo); - thisLine.open(); - System.out.println(" Target Port: " - +thisLineInfo.toString()); - for (Control thisControl : thisLine.getControls()) { - System.out.println(AnalyzeControl(thisControl));} - thisLine.close();}}} - } catch (Exception e) {e.printStackTrace();}} - public static String AnalyzeControl(Control thisControl) { - String type = thisControl.getType().toString(); - if (thisControl instanceof BooleanControl) { - return " Control: "+type+" (boolean)"; } - if (thisControl instanceof CompoundControl) { - System.out.println(" Control: "+type+ - " (compound - values below)"); - String toReturn = ""; - for (Control children: - ((CompoundControl)thisControl).getMemberControls()) { - toReturn+=" "+AnalyzeControl(children)+"\n";} - return toReturn.substring(0, toReturn.length()-1);} - if (thisControl instanceof EnumControl) { - return " Control:"+type+" (enum: "+thisControl.toString()+")";} - if (thisControl instanceof FloatControl) { - return " Control: "+type+" (float: from "+ - ((FloatControl) thisControl).getMinimum()+" to "+ - ((FloatControl) thisControl).getMaximum()+")";} - return " Control: unknown type";} -} diff --git a/java/exec.sound/src/test/java/test/Test.java b/java/exec.sound/src/test/java/test/Test.java deleted file mode 100644 index a6fa8af..0000000 --- a/java/exec.sound/src/test/java/test/Test.java +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer <rik.veenboer@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package test; - -import javax.sound.sampled.AudioFormat; - -import sound.Consumer; -import sound.Producer; -import sound.Source; -import sound.consumer.Port; -import sound.consumer.Shoutcast; -import sound.producer.Stream; - -public class Test { - public static void main(String[] args) { - AudioFormat audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 48000f, 16, 2, 4, 48000f, true); - try { - //Producer p1 = new Target("Line-In (Creative SB X-Fi)"); - //Producer p2 = new Target("Line 1 (Virtual Audio Cable)", audioFormat); - //p2.start(); - Producer p3 = new Stream("http://ics2gss.omroep.nl:80/3fm-bb-mp3"); - Producer p4 = new Stream("http://sc7.mystreamserver.com:8004"); - - Consumer c1 = new Source("Java Sound Audio Engine"); - Consumer c2 = new Port("Speakers (Creative SB X-Fi)"); - Consumer c3 = new Shoutcast(); - //Consumer c4 = new Player(); - //Consumer c5 = new Writer(new File("stream.out")); - - //Utils.write(p3.getInputStream(), new File("stream.out")); - //Utils.play(p3.getInputStream()); - c3.start(p4); - - //while (true) { - //Thread.sleep(300000); - //c1.stop(); - //} - } catch (Exception e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/java/exec.sound/src/test/java/test/lines/Main.java b/java/exec.sound/src/test/java/test/lines/Main.java deleted file mode 100644 index 6712715..0000000 --- a/java/exec.sound/src/test/java/test/lines/Main.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer <rik.veenboer@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package test.lines; - -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.Line; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.Mixer; -import javax.sound.sampled.SourceDataLine; -import javax.sound.sampled.TargetDataLine; - -public class Main { - public static void main(String[] args) { - System.out.println(System.getProperty("javax.sound.sampled.SourceDataLine")); - - new AudioFormat(44100, 16, 2, true, false); - - for (Mixer.Info mixerInfo : AudioSystem.getMixerInfo()) { - Mixer mixer = AudioSystem.getMixer(mixerInfo); - for (Line.Info lineInfo : mixer.getTargetLineInfo()) { - try { - Line line = mixer.getLine(lineInfo); - if (mixer.isLineSupported(lineInfo)) { - if (line instanceof TargetDataLine) { - new TargetLine(mixer, (TargetDataLine) line); - }/* else if (line instanceof SourceDataLine) { - new SourceLine(mixer, (SourceDataLine) line); - }*/ - } - } catch (LineUnavailableException e) {} - } - - } - } -} diff --git a/java/exec.sound/src/test/java/test/lines/SourceLine.java b/java/exec.sound/src/test/java/test/lines/SourceLine.java deleted file mode 100644 index b2c2727..0000000 --- a/java/exec.sound/src/test/java/test/lines/SourceLine.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer <rik.veenboer@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package test.lines; - -import javax.sound.sampled.Mixer; -import javax.sound.sampled.SourceDataLine; - -public class SourceLine { - //private Mixer mixer; - private SourceDataLine line; - - public SourceLine(Mixer mixer, SourceDataLine line) { - //this.mixer = mixer; - this.line = line; - System.out.println("SOURCE " + mixer.getMixerInfo().getName() + " || " + line.getLineInfo()); - } - - public int write(byte[] bytes, int offset, int length) { - return line.write(bytes, offset, length); - } -} diff --git a/java/exec.sound/src/test/java/test/lines/TargetLine.java b/java/exec.sound/src/test/java/test/lines/TargetLine.java deleted file mode 100644 index b7c74c1..0000000 --- a/java/exec.sound/src/test/java/test/lines/TargetLine.java +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (C) 2016 Rik Veenboer <rik.veenboer@gmail.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package test.lines; - -import javax.sound.sampled.Mixer; -import javax.sound.sampled.TargetDataLine; - -public class TargetLine { - //private Mixer mixer; - private TargetDataLine line; - - public TargetLine(Mixer mixer, TargetDataLine line) { - //this.mixer = mixer; - this.line = line; - System.out.println("TARGET " + mixer.getMixerInfo().getName() + " || " + line.getLineInfo()); - } - - public int read(byte[] bytes, int offset, int length) { - return line.read(bytes, offset, length); - } -} diff --git a/java/settings.gradle b/java/settings.gradle index c3e495e..391ed5b 100644 --- a/java/settings.gradle +++ b/java/settings.gradle @@ -23,6 +23,5 @@ include ':device.rumblepad' include ':device.wiimote' include ':device.xbox360' include ':exec.mimis' -include ':exec.sound' include ':exec.test' include ':exec.connected' \ No newline at end of file