diff --git a/fmframework/src/sarsoo/fmframework/fx/FMObjListTab.java b/fmframework/src/sarsoo/fmframework/fx/FMObjListTab.java
new file mode 100644
index 0000000..2ed57d6
--- /dev/null
+++ b/fmframework/src/sarsoo/fmframework/fx/FMObjListTab.java
@@ -0,0 +1,74 @@
+package sarsoo.fmframework.fx;
+
+import java.text.NumberFormat;
+import java.util.Collections;
+import java.util.Locale;
+
+import javafx.scene.control.*;
+import javafx.scene.layout.*;
+import sarsoo.fmframework.music.FMObj;
+import sarsoo.fmframework.util.FMObjList;
+import sarsoo.fmframework.util.Maths;
+import sarsoo.fmframework.util.Reference;
+
+public class FMObjListTab extends BorderPane{
+
+ public FMObjListTab(FMObjList list) {
+ getStylesheets().add("sarsoo/fmframework/fx/styles/FMObjListTab.css");
+
+ Collections.sort(list);
+ Collections.reverse(list);
+
+ VBox stats = new VBox();
+ GridPane statsPane = new GridPane();
+ Label total = new Label(Integer.toString(list.getTotalUserScrobbles()));
+ total.getStyleClass().add("totalScrobbles");
+ statsPane.add(total, 0, 0);
+
+ double percent = Maths.getPercentListening(list, Reference.getUserName());
+ Label percentLabel = new Label(String.format("%.2f%%", percent));
+ percentLabel.getStyleClass().add("percent");
+ statsPane.add(percentLabel, 1, 0);
+
+ stats.getChildren().add(statsPane);
+ setBottom(stats);
+
+ ScrollPane scroll = new ScrollPane();
+ scroll.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
+
+ GridPane pane = new GridPane();
+ scroll.setContent(pane);
+
+ NumberFormat numberFormat = NumberFormat.getNumberInstance(Locale.US);
+ FMObj FMObj;
+ int counter;
+ for(counter = 0; counter < list.size(); counter++) {
+ FMObj = list.get(counter);
+
+ Label name = new Label(FMObj.getName());
+ name.getStyleClass().add("nameLabel");
+
+ Label scrobbles = new Label(numberFormat.format(FMObj.getUserPlayCount()));
+ Label totalScrobbles = new Label(numberFormat.format(FMObj.getPlayCount()));
+ totalScrobbles.getStyleClass().add("number");
+
+ pane.add(name, 0, counter);
+ pane.add(scrobbles, 1, counter);
+ pane.add(totalScrobbles, 2, counter);
+ }
+
+ ColumnConstraints column1 = new ColumnConstraints();
+ column1.setPercentWidth(50);
+ column1.setHgrow(Priority.ALWAYS);
+ ColumnConstraints column2 = new ColumnConstraints();
+ column2.setPercentWidth(25);
+ column2.setHgrow(Priority.ALWAYS);
+ pane.getColumnConstraints().add(column1);
+ pane.getColumnConstraints().add(column2);
+ pane.getColumnConstraints().add(column2);
+
+ setCenter(scroll);
+
+ }
+
+}
diff --git a/fmframework/src/sarsoo/fmframework/fx/controller/AlbumGetPaneController.java b/fmframework/src/sarsoo/fmframework/fx/controller/AlbumGetPaneController.java
new file mode 100644
index 0000000..dd23cf3
--- /dev/null
+++ b/fmframework/src/sarsoo/fmframework/fx/controller/AlbumGetPaneController.java
@@ -0,0 +1,25 @@
+package sarsoo.fmframework.fx.controller;
+
+import javafx.fxml.FXML;
+import javafx.scene.control.*;
+import javafx.event.ActionEvent;
+
+public class AlbumGetPaneController {
+
+ @FXML
+ private Label albumName;
+
+ @FXML
+ private Label artistName;
+
+ @FXML
+ private Button getButton;
+
+// private
+
+// @FXML
+// protected void handleGetButton(ActionEvent event) {
+//
+// }
+
+}
diff --git a/fmframework/src/sarsoo/fmframework/fx/controller/AlbumTabController.java b/fmframework/src/sarsoo/fmframework/fx/controller/AlbumTabController.java
index a41a91f..8f1e489 100644
--- a/fmframework/src/sarsoo/fmframework/fx/controller/AlbumTabController.java
+++ b/fmframework/src/sarsoo/fmframework/fx/controller/AlbumTabController.java
@@ -58,7 +58,7 @@ public class AlbumTabController {
+ String.format(" Scrobbles (%.2f%%)", Maths.getPercentListening(album, Reference.getUserName())));
labelTotalListeners.setText(numberFormat.format(album.getListeners()) + " Listeners");
- labelTotalScrobbles.setText(numberFormat.format(album.getPlayCount()) + "Total Scrobbles");
+ labelTotalScrobbles.setText(numberFormat.format(album.getPlayCount()) + " Total Scrobbles");
double ratio = album.getTimeListenRatio();
diff --git a/fmframework/src/sarsoo/fmframework/fx/controller/ControllerMain.java b/fmframework/src/sarsoo/fmframework/fx/controller/ControllerMain.java
index 3dbd2b9..ecf2a72 100644
--- a/fmframework/src/sarsoo/fmframework/fx/controller/ControllerMain.java
+++ b/fmframework/src/sarsoo/fmframework/fx/controller/ControllerMain.java
@@ -10,6 +10,7 @@ import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.text.Text;
+import sarsoo.fmframework.fx.FMObjListTab;
import sarsoo.fmframework.music.Album;
import sarsoo.fmframework.util.FMObjList;
import sarsoo.fmframework.util.Getter;
@@ -88,27 +89,33 @@ public class ControllerMain {
@FXML
protected void handleLookupAlbum(ActionEvent event) throws IOException {
- FXMLLoader loader = new FXMLLoader(getClass().getResource("../ui/albumview.fxml"));
-
- Pane pane = (Pane)loader.load();
-
-// AlbumTabController controller = new AlbumTabController(Album.getAlbum("recovery", "eminem", Reference.getUserName()));
-// loader.setController(controller);
-// pane.setController(controller);
-
-// Parent pane = loader.load();
-
- Tab tab = new Tab("Recovery");
-
- tab.setContent(pane);
-
- AlbumTabController albumControl = (AlbumTabController)loader.getController();
-
-
- albumControl.populateTab(Getter.getAlbum());
+// FXMLLoader loader = new FXMLLoader(getClass().getResource("../ui/albumview.fxml"));
+//
+// Pane pane = (Pane)loader.load();
+//
+//// AlbumTabController controller = new AlbumTabController(Album.getAlbum("recovery", "eminem", Reference.getUserName()));
+//// loader.setController(controller);
+//// pane.setController(controller);
+//
+//// Parent pane = loader.load();
+//
+// Tab tab = new Tab("Album View");
+//
+// tab.setContent(pane);
+//
+// AlbumTabController albumControl = (AlbumTabController)loader.getController();
+//
+//
+// albumControl.populateTab(Getter.getAlbum());
+//
+//
+// tabPane.getTabs().add(tab);
+ Tab tab = new Tab("rock");
+ tab.setContent(new FMObjListTab(Getter.getUserTag(Reference.getUserName(), "rock")));
tabPane.getTabs().add(tab);
+
}
diff --git a/fmframework/src/sarsoo/fmframework/fx/styles/FMObjListTab.css b/fmframework/src/sarsoo/fmframework/fx/styles/FMObjListTab.css
new file mode 100644
index 0000000..c4115e7
--- /dev/null
+++ b/fmframework/src/sarsoo/fmframework/fx/styles/FMObjListTab.css
@@ -0,0 +1,26 @@
+.nameLabel{
+ -fx-alignment: center;
+
+ -fx-font-style: italic;
+
+}
+
+.number{
+ -fx-text-alignment: right;
+
+ -fx-font-style: italic;
+
+}
+
+.totalScrobbles{
+
+ -fx-font-style: italic;
+
+}
+
+.percent{
+ -fx-text-alignment: right;
+
+ -fx-font-style: italic;
+
+}
\ No newline at end of file
diff --git a/fmframework/src/sarsoo/fmframework/fx/ui/albumgetpane.fxml b/fmframework/src/sarsoo/fmframework/fx/ui/albumgetpane.fxml
new file mode 100644
index 0000000..99000d5
--- /dev/null
+++ b/fmframework/src/sarsoo/fmframework/fx/ui/albumgetpane.fxml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fmframework/src/sarsoo/fmframework/fx/ui/changed.fxml b/fmframework/src/sarsoo/fmframework/fx/ui/changed.fxml
deleted file mode 100644
index 006a9e1..0000000
--- a/fmframework/src/sarsoo/fmframework/fx/ui/changed.fxml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-