Skip to content

Commit 1ccce24

Browse files
committed
Modified database
- removed artist and album table for faster addition of tracks to database - removed bugs and optimized application
1 parent b499195 commit 1ccce24

17 files changed

Lines changed: 446 additions & 634 deletions

beatboxer.db

148 KB
Binary file not shown.

nbproject/private/private.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@
44
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
55
<group>
66
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/CreateConnection.java</file>
7+
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BeatBoxer.fxml</file>
78
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/ItemDeleterController.java</file>
9+
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BBItem.java</file>
810
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BBSong.java</file>
911
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/DataBase.java</file>
1012
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/TimerController.java</file>
13+
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/FolderChooser.fxml</file>
1114
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/PlayList.java</file>
1215
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/CreatePlaylistController.java</file>
16+
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/ItemDeleter.fxml</file>
1317
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/Track.java</file>
1418
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BeatBoxer.java</file>
1519
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/SongEditorController.java</file>
@@ -18,10 +22,10 @@
1822
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/Directory.java</file>
1923
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/PlaylistEditorController.java</file>
2024
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BBScanner.java</file>
21-
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/Test.java</file>
2225
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/Album.java</file>
2326
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BBGenerator.java</file>
2427
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/FolderChooserController.java</file>
28+
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/CreatePlaylist.fxml</file>
2529
<file>file:/C:/Users/SANJAY%20TAYAL/Documents/NetBeansProjects/BeatBoxer/src/beatboxer/BeatBoxerController.java</file>
2630
</group>
2731
</open-files>

src/beatboxer/Album.java

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package beatboxer;
77

88
import java.sql.*;
9+
import javafx.collections.FXCollections;
910
import javafx.collections.ObservableList;
1011

1112
/**
@@ -14,31 +15,12 @@
1415
*/
1516
public class Album extends CreateConnection {
1617

17-
public ObservableList<BBItem> ShowAllAlbums() {
18-
Statement count = null;
19-
try {
20-
count = con.createStatement();
21-
return BBGenerator.item(count.executeQuery("Select * from album order by albumname"));
22-
} catch (SQLException e) {
23-
24-
} finally {
25-
if (count != null) {
26-
try {
27-
count.close();
28-
} catch (SQLException e) {
29-
30-
}
31-
}
32-
}
33-
return null;
34-
}
35-
36-
public ObservableList<BBSong> ShowAllTracksinAlbum(int albumId) {
18+
public ObservableList<BBSong> ShowAllTracksinAlbum(String Albumname) {
3719
PreparedStatement statement = null;
3820
try {
39-
String sql = "select trackid,trackname,artistname,albumname,location,genre,favourite from track natural join artist natural join album WHERE albumid = ? order by trackname";
21+
String sql = "select trackid,trackname,artistname,albumname,location,genre,favourite from track WHERE albumname = ? order by trackname";
4022
statement = con.prepareStatement(sql);
41-
statement.setInt(1, albumId);
23+
statement.setString(1, Albumname);
4224
return BBGenerator.song(statement.executeQuery());
4325
} catch (SQLException e) {
4426

@@ -55,13 +37,20 @@ public ObservableList<BBSong> ShowAllTracksinAlbum(int albumId) {
5537

5638
}
5739

58-
public ObservableList<BBItem> SearchAlbum(String string) {
40+
public ObservableList<String> SearchAlbum(String string) {
5941
PreparedStatement statement = null;
42+
ObservableList<String> list = FXCollections.observableArrayList();
43+
ResultSet res = null;
6044
try {
61-
String sql = "select * from album WHERE albumname LIKE ? order by albumname";
45+
String sql = "select distinct albumname from track WHERE albumname LIKE ? order by albumname";
6246
statement = con.prepareStatement(sql);
6347
statement.setString(1, '%' + string + '%');
64-
return BBGenerator.item(statement.executeQuery());
48+
res = statement.executeQuery();
49+
while (res.next()) {
50+
list.add(res.getString(1));
51+
}
52+
res.close();
53+
return list;
6554
} catch (Exception e) {
6655
return null;
6756
} finally {

src/beatboxer/Artist.java

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package beatboxer;
77

88
import java.sql.*;
9+
import javafx.collections.FXCollections;
910
import javafx.collections.ObservableList;
1011

1112
/**
@@ -14,31 +15,12 @@
1415
*/
1516
public class Artist extends CreateConnection {
1617

17-
public ObservableList<BBItem> ShowAllArtists() {
18-
Statement count = null;
19-
try {
20-
count = con.createStatement();
21-
return BBGenerator.item(count.executeQuery("Select * from artist order by artistname"));
22-
} catch (SQLException e) {
23-
24-
} finally {
25-
if (count != null) {
26-
try {
27-
count.close();
28-
} catch (SQLException e) {
29-
30-
}
31-
}
32-
}
33-
return null;
34-
}
35-
36-
public ObservableList<BBSong> ShowAllTracksByArtists(int artistId) {
18+
public ObservableList<BBSong> ShowAllTracksByArtists(String Artistname) {
3719
PreparedStatement statement = null;
3820
try {
39-
String sql = "select trackid,trackname,artistname,albumname,location,genre,favourite from track natural join artist natural join album WHERE artistid = ? order by trackname";
21+
String sql = "select trackid,trackname,artistname,albumname,location,genre,favourite from track WHERE artistname = ? order by trackname";
4022
statement = con.prepareStatement(sql);
41-
statement.setInt(1, artistId);
23+
statement.setString(1, Artistname);
4224
return BBGenerator.song(statement.executeQuery());
4325
} catch (SQLException e) {
4426

@@ -55,13 +37,20 @@ public ObservableList<BBSong> ShowAllTracksByArtists(int artistId) {
5537

5638
}
5739

58-
public ObservableList<BBItem> SearchArtist(String string) {
40+
public ObservableList<String> SearchArtist(String string) {
5941
PreparedStatement statement = null;
42+
ResultSet res = null;
43+
ObservableList list = FXCollections.observableArrayList();
6044
try {
61-
String sql = "select * from artist WHERE artistname LIKE ? order by artistname";
45+
String sql = "select distinct artistname from track WHERE artistname LIKE ? order by artistname";
6246
statement = con.prepareStatement(sql);
6347
statement.setString(1, '%' + string + '%');
64-
return BBGenerator.item(statement.executeQuery());
48+
res = statement.executeQuery();
49+
while (res.next()) {
50+
list.add(res.getString(1));
51+
}
52+
res.close();
53+
return list;
6554
} catch (Exception e) {
6655
return null;
6756
} finally {

src/beatboxer/BBItem.java

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,46 @@
1010
* @author kunal
1111
*/
1212
public class BBItem {
13+
1314
protected int Id;
1415
protected String name;
15-
public BBItem(int Id,String name){
16-
try{
16+
17+
public BBItem(int Id, String name) {
18+
try {
1719
this.Id = Id;
18-
}
19-
catch (NullPointerException e){
20+
} catch (NullPointerException e) {
2021
this.Id = -1;
2122
}
2223
this.setName(name);
2324
}
24-
public BBItem(){
25+
26+
public BBItem() {
2527
this.Id = 0;
2628
this.name = "Unknown";
2729
}
28-
public String getName(){
30+
31+
public String getName() {
2932
return name;
3033
}
31-
public void setName(String name){
32-
try{
33-
this.name = name;
34-
}
35-
catch (NullPointerException e){
34+
35+
public void setName(String name) {
36+
try {
37+
this.name = name;
38+
} catch (NullPointerException e) {
3639
this.name = "";
3740
}
3841
}
39-
public int getId(){
42+
43+
public int getId() {
4044
return this.Id;
4145
}
46+
4247
@Override
43-
public String toString(){
48+
public String toString() {
4449
return this.name;
4550
}
46-
public int toInt(){
51+
52+
public int toInt() {
4753
return this.Id;
4854
}
4955

@@ -70,4 +76,4 @@ public boolean equals(Object obj) {
7076
}
7177
return true;
7278
}
73-
}
79+
}

src/beatboxer/BBScanner.java

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,29 +60,24 @@ public void reset() {
6060

6161
public static BBSong getMeta(String location) {
6262
File file = new File(location);
63-
if (!file.getName().toLowerCase().endsWith(".mp3")) {
63+
try {
64+
AudioFile a = AudioFileIO.read(file);
65+
Tag tags = a.getTag();
66+
return new BBSong(-1, tags.getFirst(FieldKey.TITLE),
67+
tags.getFirst(FieldKey.ALBUM),
68+
tags.getFirst(FieldKey.ARTIST),
69+
tags.getFirst(FieldKey.GENRE),
70+
location);
71+
} catch (Exception e) {
6472
location = location.replace("\\", "/");
6573
int index = 0;
6674
for (index = location.length() - 1;; index--) {
6775
if (location.charAt(index) == '/') {
6876
break;
6977
}
7078
}
71-
return new BBSong(-1, location.substring(index + 1), "Unknown", "Unkown", "Unkown", location);
72-
} else {
73-
try {
74-
AudioFile a = AudioFileIO.read(file);
75-
Tag tags = a.getTag();
76-
return new BBSong(-1, tags.getFirst(FieldKey.TITLE),
77-
tags.getFirst(FieldKey.ALBUM),
78-
tags.getFirst(FieldKey.ARTIST),
79-
tags.getFirst(FieldKey.GENRE),
80-
location);
81-
} catch (Exception e) {
82-
;
83-
}
79+
return new BBSong(-1, location.substring(index + 1), "Unknown", "Unknown", "Unknown", location);
8480
}
85-
return null;
8681
}
8782

8883
public ObservableList<BBSong> getMeta(ArrayList<String> paths) {

0 commit comments

Comments
 (0)