From 7ae001fc1c0dc3ddf672189800b8a3252e029941 Mon Sep 17 00:00:00 2001
From: tobias <tobias.ullerich@icloud.com>
Date: Wed, 13 Apr 2016 22:14:54 +0200
Subject: [PATCH] Fixed VersionUpdate for Build 25 and add Path[] var for load
 audio

---
 PlayWall/src/de/tobias/playpad/VersionUpdater.java       | 2 +-
 .../src/de/tobias/playpad/audio/ClipAudioHandler.java    | 2 +-
 .../src/de/tobias/playpad/audio/JavaFXAudioHandler.java  | 2 +-
 .../src/de/tobias/playpad/audio/TinyAudioHandler.java    | 2 +-
 .../src/de/tobias/playpad/pad/content/AudioContent.java  | 2 +-
 .../playpad/viewcontroller/main/MainViewController.java  | 9 ++++-----
 .../src/de/tobias/playpad/audio/AudioHandler.java        | 4 +++-
 7 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/PlayWall/src/de/tobias/playpad/VersionUpdater.java b/PlayWall/src/de/tobias/playpad/VersionUpdater.java
index 183b998e..e6cce693 100644
--- a/PlayWall/src/de/tobias/playpad/VersionUpdater.java
+++ b/PlayWall/src/de/tobias/playpad/VersionUpdater.java
@@ -51,7 +51,7 @@ public class VersionUpdater implements UpdateService {
 
 					Path projectPath = ApplicationUtils.getApplication().getPath(PathType.DOCUMENTS, name);
 					Path newProjectPath = ApplicationUtils.getApplication().getPath(PathType.DOCUMENTS, uuid + Project.FILE_EXTENSION);
-					Files.createDirectories(newProjectPath);
+					Files.createDirectories(newProjectPath.getParent());
 
 					Files.move(projectPath, newProjectPath);
 
diff --git a/PlayWall/src/de/tobias/playpad/audio/ClipAudioHandler.java b/PlayWall/src/de/tobias/playpad/audio/ClipAudioHandler.java
index 86f4617e..b8e809db 100644
--- a/PlayWall/src/de/tobias/playpad/audio/ClipAudioHandler.java
+++ b/PlayWall/src/de/tobias/playpad/audio/ClipAudioHandler.java
@@ -195,7 +195,7 @@ public class ClipAudioHandler extends AudioHandler {
 	}
 
 	@Override
-	public void loadMedia() {
+	public void loadMedia(Path[] paths) {
 		mixer = AudioSystem.getMixer(AudioSystem.getMixerInfo()[0]);
 
 		DataLine.Info info = new Info(Clip.class, null);
diff --git a/PlayWall/src/de/tobias/playpad/audio/JavaFXAudioHandler.java b/PlayWall/src/de/tobias/playpad/audio/JavaFXAudioHandler.java
index fe5f86b0..e88b1d7a 100644
--- a/PlayWall/src/de/tobias/playpad/audio/JavaFXAudioHandler.java
+++ b/PlayWall/src/de/tobias/playpad/audio/JavaFXAudioHandler.java
@@ -89,7 +89,7 @@ public class JavaFXAudioHandler extends AudioHandler implements Equalizable {
 	}
 
 	@Override
-	public void loadMedia() {
+	public void loadMedia(Path[] paths) {
 		Platform.runLater(() ->
 		{
 			if (getContent().getPad().isPadVisible()) {
diff --git a/PlayWall/src/de/tobias/playpad/audio/TinyAudioHandler.java b/PlayWall/src/de/tobias/playpad/audio/TinyAudioHandler.java
index e375c5e2..ecac4b7c 100644
--- a/PlayWall/src/de/tobias/playpad/audio/TinyAudioHandler.java
+++ b/PlayWall/src/de/tobias/playpad/audio/TinyAudioHandler.java
@@ -208,7 +208,7 @@ public class TinyAudioHandler extends AudioHandler {
 	}
 
 	@Override
-	public void loadMedia() {
+	public void loadMedia(Path[] paths) {
 		initTinySound();
 
 		unloadMedia();
diff --git a/PlayWall/src/de/tobias/playpad/pad/content/AudioContent.java b/PlayWall/src/de/tobias/playpad/pad/content/AudioContent.java
index 9e2d5033..3c83a6b1 100644
--- a/PlayWall/src/de/tobias/playpad/pad/content/AudioContent.java
+++ b/PlayWall/src/de/tobias/playpad/pad/content/AudioContent.java
@@ -206,7 +206,7 @@ public class AudioContent extends PadContent implements Pauseable, Durationable,
 	public void loadMedia() {
 		audioHandler = AudioRegistry.geAudioType().createAudioHandler(this);
 		if (Files.exists(path)) {
-			audioHandler.loadMedia();
+			audioHandler.loadMedia(new Path[] { path });
 
 			durationProperty.bind(audioHandler.durationProperty());
 			positionProperty.bind(audioHandler.positionProperty());
diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/main/MainViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/main/MainViewController.java
index a1811bad..446699eb 100644
--- a/PlayWall/src/de/tobias/playpad/viewcontroller/main/MainViewController.java
+++ b/PlayWall/src/de/tobias/playpad/viewcontroller/main/MainViewController.java
@@ -427,6 +427,9 @@ public class MainViewController extends ViewController implements IMainViewContr
 						return false;
 			}
 
+			// Mapper Clear Feedback
+			Profile.currentProfile().getMappings().getActiveMapping().clearFeedback();
+
 			// MIDI Shutdown
 			if (profilSettings.isMidiActive()) {
 				try {
@@ -444,13 +447,9 @@ public class MainViewController extends ViewController implements IMainViewContr
 		// Verbindung von Pad und PadView wird getrennt. Zudem wird bei PLAY oder PAUSE auf STOP gesetzt
 		padViewList.forEach(padView -> padView.unconnectPad());
 
-		Worker.shutdown();
-
-		// Mapper Clear Feedback
-		Profile.currentProfile().getMappings().getActiveMapping().clearFeedback();
-
 		saveSettings();
 
+		Worker.shutdown();
 		System.exit(0);
 		return true;
 	}
diff --git a/PlayWallCore/src/de/tobias/playpad/audio/AudioHandler.java b/PlayWallCore/src/de/tobias/playpad/audio/AudioHandler.java
index 41838d3b..816f1966 100644
--- a/PlayWallCore/src/de/tobias/playpad/audio/AudioHandler.java
+++ b/PlayWallCore/src/de/tobias/playpad/audio/AudioHandler.java
@@ -1,5 +1,7 @@
 package de.tobias.playpad.audio;
 
+import java.nio.file.Path;
+
 import de.tobias.playpad.pad.conntent.PadContent;
 import javafx.beans.property.ReadOnlyObjectProperty;
 import javafx.util.Duration;
@@ -37,7 +39,7 @@ public abstract class AudioHandler {
 
 	public abstract boolean isMediaLoaded();
 
-	public abstract void loadMedia();
+	public abstract void loadMedia(Path[] paths);
 
 	public abstract void unloadMedia();
 
-- 
GitLab