diff --git a/.vs/PeerlessPlayer/FileContentIndex/17f18151-207c-4a56-a4f4-ff601f4c2005.vsidx b/.vs/PeerlessPlayer/FileContentIndex/17f18151-207c-4a56-a4f4-ff601f4c2005.vsidx
deleted file mode 100644
index 26d7ebf..0000000
Binary files a/.vs/PeerlessPlayer/FileContentIndex/17f18151-207c-4a56-a4f4-ff601f4c2005.vsidx and /dev/null differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/1d65612b-ab60-415f-93c8-13971df4766d.vsidx b/.vs/PeerlessPlayer/FileContentIndex/1d65612b-ab60-415f-93c8-13971df4766d.vsidx
new file mode 100644
index 0000000..80abcf9
Binary files /dev/null and b/.vs/PeerlessPlayer/FileContentIndex/1d65612b-ab60-415f-93c8-13971df4766d.vsidx differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/22f99465-dc37-40e6-a7a4-394cadb49d81.vsidx b/.vs/PeerlessPlayer/FileContentIndex/22f99465-dc37-40e6-a7a4-394cadb49d81.vsidx
new file mode 100644
index 0000000..068b2ca
Binary files /dev/null and b/.vs/PeerlessPlayer/FileContentIndex/22f99465-dc37-40e6-a7a4-394cadb49d81.vsidx differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/352f442b-7075-442f-9d72-62aebd07c7dd.vsidx b/.vs/PeerlessPlayer/FileContentIndex/352f442b-7075-442f-9d72-62aebd07c7dd.vsidx
deleted file mode 100644
index b878c32..0000000
Binary files a/.vs/PeerlessPlayer/FileContentIndex/352f442b-7075-442f-9d72-62aebd07c7dd.vsidx and /dev/null differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/70c905dc-7a6a-41dc-909e-b4eef47d7e51.vsidx b/.vs/PeerlessPlayer/FileContentIndex/70c905dc-7a6a-41dc-909e-b4eef47d7e51.vsidx
new file mode 100644
index 0000000..3ff2baf
Binary files /dev/null and b/.vs/PeerlessPlayer/FileContentIndex/70c905dc-7a6a-41dc-909e-b4eef47d7e51.vsidx differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/80537599-a02c-4b79-ba41-281ad839463b.vsidx b/.vs/PeerlessPlayer/FileContentIndex/80537599-a02c-4b79-ba41-281ad839463b.vsidx
deleted file mode 100644
index cdc9367..0000000
Binary files a/.vs/PeerlessPlayer/FileContentIndex/80537599-a02c-4b79-ba41-281ad839463b.vsidx and /dev/null differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/ca585f46-7f58-40db-833d-b68f3e2d9444.vsidx b/.vs/PeerlessPlayer/FileContentIndex/ca585f46-7f58-40db-833d-b68f3e2d9444.vsidx
new file mode 100644
index 0000000..88ee180
Binary files /dev/null and b/.vs/PeerlessPlayer/FileContentIndex/ca585f46-7f58-40db-833d-b68f3e2d9444.vsidx differ
diff --git a/.vs/PeerlessPlayer/FileContentIndex/fa37ef4b-3f39-4486-b562-94a6433e1459.vsidx b/.vs/PeerlessPlayer/FileContentIndex/fa37ef4b-3f39-4486-b562-94a6433e1459.vsidx
deleted file mode 100644
index 7cd120f..0000000
Binary files a/.vs/PeerlessPlayer/FileContentIndex/fa37ef4b-3f39-4486-b562-94a6433e1459.vsidx and /dev/null differ
diff --git a/.vs/PeerlessPlayer/v17/.wsuo b/.vs/PeerlessPlayer/v17/.wsuo
index 3b26ff0..4db8e7e 100644
Binary files a/.vs/PeerlessPlayer/v17/.wsuo and b/.vs/PeerlessPlayer/v17/.wsuo differ
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
index 81e9a80..65045ac 100644
--- a/.vs/VSWorkspaceState.json
+++ b/.vs/VSWorkspaceState.json
@@ -3,10 +3,10 @@
"",
"\\app",
"\\app\\data",
+ "\\app\\html",
"\\app\\js",
- "\\docs",
- "\\docs\\css"
+ "\\docs"
],
- "SelectedNode": "\\app\\js\\index.js",
+ "SelectedNode": "\\docs\\index.html",
"PreviewInSolutionExplorer": false
}
\ No newline at end of file
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
index 4c8a4e8..14fcf75 100644
Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ
diff --git a/Errors.txt b/Errors.txt
deleted file mode 100644
index 28b9d36..0000000
--- a/Errors.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-1. Mumford & Sons: Sigh No More: track 6 missing
-2. Bliss: Quiet Letters: 2 missing tracks
-3. Mazzy Star: Among My Swan: track 11 missing
\ No newline at end of file
diff --git a/LICENSE.txt b/LICENSE.txt
index 9227705..8b6158b 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -2,7 +2,7 @@ ISC License
-Copyright (c) 2020, Geoff Peerless
+Copyright (c) 2023, Geoff Peerless
diff --git a/UPDATE LOG.txt b/UPDATE LOG.txt
index 5a8ae46..0f12265 100644
--- a/UPDATE LOG.txt
+++ b/UPDATE LOG.txt
@@ -87,9 +87,12 @@
6. Animation added when displaying large album artwork.
7. Minor bug fixes in playlist and search functions.
-**** VERSION 0.4.1 UPDATES ****
+**** VERSION 0.5.0 UPDATES ****
1. Bug fix when fetching album info from wikidata.
2. Database Edit Cancel button rerouted back to artist albums instead of homepage.
3. Link added from artists album page to display all songs for an artist.
+4. Small redsign of the main menu.
+5. Pi-PLayer functions added to the top menu bar. See the website for full details about the new Peerless-Pi-Player.
+
diff --git a/app/data/pi_data.json b/app/data/pi_data.json
index d584a08..7c1f543 100644
--- a/app/data/pi_data.json
+++ b/app/data/pi_data.json
@@ -1 +1 @@
-{"artist":"Peerless-Pi-Player", "album":"It's Music To Your Ears", "track":"", "playTime":"", "favourite":" ", "timeStamp":"Mon May 15 2023 10:33:58 GMT+0100 (British Summer Time)"}
\ No newline at end of file
+{"artist":"Peerless-Pi-Player", "album":"It's Music To Your Ears", "track":"", "playTime":"", "favourite":" ", "timeStamp":"Sun May 28 2023 21:17:51 GMT+0100 (British Summer Time)"}
\ No newline at end of file
diff --git a/app/graphics/genres/Dance.gif b/app/graphics/genres/Dance.gif
index db8720a..bb00bd5 100644
Binary files a/app/graphics/genres/Dance.gif and b/app/graphics/genres/Dance.gif differ
diff --git a/app/graphics/genres/Folk.gif b/app/graphics/genres/Folk.gif
index da2e8bb..29e3949 100644
Binary files a/app/graphics/genres/Folk.gif and b/app/graphics/genres/Folk.gif differ
diff --git a/app/graphics/genres/Pop.gif b/app/graphics/genres/Pop.gif
index 34c726a..999ff03 100644
Binary files a/app/graphics/genres/Pop.gif and b/app/graphics/genres/Pop.gif differ
diff --git a/app/graphics/genres/Rock.gif b/app/graphics/genres/Rock.gif
index fb4dbc8..0f3243b 100644
Binary files a/app/graphics/genres/Rock.gif and b/app/graphics/genres/Rock.gif differ
diff --git a/app/graphics/genres/Soundtrack.gif b/app/graphics/genres/Soundtrack.gif
index 70c645b..118a5f7 100644
Binary files a/app/graphics/genres/Soundtrack.gif and b/app/graphics/genres/Soundtrack.gif differ
diff --git a/app/graphics/genres/Urban.gif b/app/graphics/genres/Urban.gif
index 76eb4c3..20a3c8e 100644
Binary files a/app/graphics/genres/Urban.gif and b/app/graphics/genres/Urban.gif differ
diff --git a/app/html/newreleases.html b/app/html/newreleases.html
index 7145eb2..0a04227 100644
--- a/app/html/newreleases.html
+++ b/app/html/newreleases.html
@@ -22,7 +22,16 @@
+
+
+
Data supplied by spotify.com
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/html/recommendations.html b/app/html/recommendations.html
index aaf4add..19cffd4 100644
--- a/app/html/recommendations.html
+++ b/app/html/recommendations.html
@@ -14,6 +14,11 @@
+
+
Data supplied by spotify.com
+
+
+
\ No newline at end of file
diff --git a/app/html/userguide.html b/app/html/userguide.html
index 16da474..9681e21 100644
--- a/app/html/userguide.html
+++ b/app/html/userguide.html
@@ -22,6 +22,7 @@
Quick Menu
1. Getting Started
+
1.1 First Things First
On the menu bar click on File and then Settings. This will take you to the Settings page where you can customise the app.
@@ -336,6 +337,7 @@
4.7 Smart Playlist
5. Adding Music to Peerless Player
+
5.1 How to Add Music
Add a ripped CD or music download to your Music directory with music files in .mp3 .m4a .flac or (.wav not recommended) format. If the artist is new to your music collection, add the artist folder containing the album folder or if the artist already exists, add the album folder to the existing artist folder in your music directory.
@@ -380,6 +382,7 @@
5. Adding Music to Peerless Player
6. Editing Music in the Database
+
6.1 How to Edit Music
To edit an album in the database, display the album and click on the Edit button next to the album artwork.
@@ -409,6 +412,7 @@
6. Editing Music in the Database
7. Deleting Music from the Database
+
7.1 How to Delete Music
To delete an album from the database, display the album and click on the Edit button next to the album artwork.
@@ -434,6 +438,7 @@
7. Deleting Music from the Database
8. App Settings
+
8.1 Personalise Your Player
From the File menu, click on Settings, to display the App Settings page. From here you can change the below settings.
@@ -451,6 +456,7 @@
8. App Settings
9. Syncing External Music Directory
+
9.1 Sync Your Music
Insert your SD card/USB drive and from the File menu or Database Functions click on Sync External Directory.
diff --git a/app/js/index.js b/app/js/index.js
index ef92a6d..d61df53 100644
--- a/app/js/index.js
+++ b/app/js/index.js
@@ -331,7 +331,7 @@ ipcRenderer.on('Help Release', (event) => {
$('#okModalText').empty();
$(".modalFooter").empty();
$('.modalHeader').append('×
Release Notes Version: ' + global_Version + '
');
- $('#okModalText').append("
1. Music recommendations added to artist page. 2. New music releases function added to player menu. 3. Back To Top button added to all pages once scrolled. 4. Error handling added to ajax remote server requests. 5. Smooth srcolling added to A - Z menu. 6. Animation added when displaying large album artwork. 7. Minor bug fixes in playlist and search functions.
");//  
+ $('#okModalText').append("
1. Bug fix when fetching album info from wikidata. 2. Database Edit Cancel button rerouted back to artist albums instead of homepage. 3. Link added from artists album page to display all songs for an artist. 4. Small redsign of the main menu. 5. Pi-Player functions added to the top menu bar. See the website for full details about the new Peerless-Pi-Player.
");//  
var buttons = $("");
$('.modalFooter').append(buttons);
$("#btnOkModal").focus();
diff --git a/bin/Microsoft.NodejsTools.WebRole.dll b/bin/Microsoft.NodejsTools.WebRole.dll
index 927d040..3b80979 100644
Binary files a/bin/Microsoft.NodejsTools.WebRole.dll and b/bin/Microsoft.NodejsTools.WebRole.dll differ
diff --git a/docs/index.html b/docs/index.html
index 2863afd..63709ae 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -65,7 +65,7 @@
A desktop app to organise, listen and explore your off-line music collection
The Peerless-Pi-Player project has been completed and Peerless Player has been updated to connect to a Peerless-Pi-Player so you can view album art and track details of the current playing song in Peerless Player on a remote screen, such as your flat-screen TV or remote monitor using a Raspberry Pi. For more details please see the Pi-Player page of this website.
+
The number of songs on the artist's album page above the biography button has been linked to display a table of all the artist's songs. This table can be sorted and filtered as required.
+
There have been a few bug fixes and small changes. A bug while fetching album information from Wikidata has been fixed. There has been a small redesign of the main top menu and when editing the database, the cancel button will now take you back to the artist's album page instead of the home page.
+
Security updates. Sqlite3 bumped from 5.1.4 to 5.1.5 and http-cache-semantics bumped from 4.1.0 to 4.1.1.
Open Pi-Player. Click to open the Pi-Player in a full screen Chromium browser on your remote screen.
- Re-Send Track data. Click if you need to resend data from Peerless player to the Pi-Player. For example if you open Pi-Player while a song is playing, it won’t update until the next song is played.
+ Re-Send Track data. Click if you need to resend data from Peerless player to the Pi-Player. For example if you open Pi-Player while a song is playing, it will not update until the next song is played.
Close Pi-Player. Click to close the Pi-Player.
diff --git a/main.js b/main.js
index e7af0c6..e3d6c40 100644
--- a/main.js
+++ b/main.js
@@ -1022,9 +1022,6 @@ ipcMain.on('ssh_artworkfile', (event, data) => {
var artworkFile;
var newDate = Date().toLocaleString();
- // Location of file on HP Desktop
- //const fileToReceive = "/Users/geoff/Documents/Tunes/pi-player/graphics/folder.jpg"
-
// Location of file on pi-player
const fileToReceive = "/home/" + userName + "/Documents/pi-player/graphics/tempFolder.jpg"
@@ -1046,7 +1043,9 @@ ipcMain.on('ssh_artworkfile', (event, data) => {
fs.writeFileSync("./app/data/pi_data.json", jsonData)
// Send art file first
- sendFile([fileToSend, fileToReceive, ipAddress, userName, password])
+ if (ipAddress) {
+ sendFile([fileToSend, fileToReceive, ipAddress, userName, password])
+ }
});
// Function to send files by sftp to pi-player
@@ -1076,7 +1075,6 @@ function sendFile(data) {
writeStream.on('close', function () {
if (fileToReceive == "/home/" + userName + "/Documents/pi-player/graphics/tempFolder.jpg") {
- console.log("Transfer folder.jpg complete")
shellCommand(['mv /home/' + userName + '/Documents/pi-player/graphics/tempFolder.jpg /home/' + userName + '/Documents/pi-player/graphics/folder.jpg\n', ipAddress, userName, password])
conn.end();
}
@@ -1123,7 +1121,6 @@ function shellCommand(data) {
// Connection successful
conn.on('ready', () => {
- console.log('Shell Client Stream :: ready');
conn.shell(false, { pty: true }, function (err, stream) {
if (err) throw err;
stream.on('close', function () {
@@ -1151,87 +1148,3 @@ function shellCommand(data) {
password: password
});
};
-
-
-
-
-/*
-// Connect to remote server using SSH
-const { Client } = require('ssh2');
-const conn = new Client();
-
-// Connection error handling
-conn.on('error', function (e) {
- console.log("ERROR connecting :: " + e);
-});
-
-// Connection successful
-conn.on('ready', () => {
- conn.sftp(function (err, sftp) {
- if (err) throw err;
- // Get length of array of files to send
- let filesToSendLength = filesToSend.length;
-
- var i = 0;
- function sendFiles() {
- setTimeout(function () {
-
- // Local directory path
- var readStream = fs.createReadStream(filesToSend[i]);
- // Remote directory location; include the file name
- var writeStream = sftp.createWriteStream(filesToRecieve[i]);
-
- writeStream.on('close', function () {
- console.log("- file transferred succesfully")
- if (filesToRecieve[i - 1] == "/home/geoff/Documents/pi-player/graphics/tempFolder.jpg") {
- console.log("Transfer folder.jpg complete")
- shellCommand(['mv /home/geoff/Documents/pi-player/graphics/tempFolder.jpg /home/geoff/Documents/pi-player/graphics/folder.jpg\n', ipAddress, userName, password])
- }
- });
-
- writeStream.on('end', function () {
- console.log("sftp connection closed");
- conn.close();
- });
-
- // Initiate transfer of file
- readStream.pipe(writeStream);
-
- i++;
- if (i < filesToSendLength) {
- sendFiles()
- }
- }, 600)
- }
- sendFiles()
-
-
- // Loop through files to send to remote server
- for (let i = 0; i < filesToSendLength; i++) {
- // Local directory path
- var readStream = fs.createReadStream(filesToSend[i]);
- // Remote directory location; include the file name
- var writeStream = sftp.createWriteStream(filesToRecieve[i]);
-
- writeStream.on('close', function () {
- console.log("- file transferred succesfully");
- });
-
- writeStream.on('end', function () {
- console.log("sftp connection closed");
- conn.close();
- });
-
- // Initiate transfer of file
- readStream.pipe(writeStream);
- }
-
- });
-// Connection details of remote server
-}).connect({
- host: ipAddress,
- port: 22,
- username: userName,
- password: password
-});
-*/
diff --git a/package.json b/package.json
index 269f473..e9d0251 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "peerless-player",
- "version": "0.4.0",
+ "version": "0.5.0",
"description": "Peerless Player - listen, discover, explore music",
"main": "main.js",
"scripts": {
@@ -28,7 +28,7 @@
},
"devDependencies": {
"electron": "^22.0.0",
- "electron-builder": "^24.1.2",
+ "electron-builder": "^23.6.0",
"electron-rebuild": "^3.2.5"
},
"repository": {