PDA

View Full Version : Document your collection



pkfox
2015-11-02, 23:53
Hi all, don't know if anyone is interested but I've written an application that reads your LMS database and produces a PDF file of your music - when I was testing it it highlighted lots of incomplete tags and helped me clean up my library. The app is for Windows and all you need to do is copy a file called library.db from your server machine to your local drive and point my app at it. Let me know if anyone is interested.

Pascal Hibon
2015-11-03, 00:33
Might be interesting. Do you have some screenshots and / or pdf sample to share?

pkfox
2015-11-03, 01:49
Might be interesting. Do you have some screenshots and / or pdf sample to share?

Here is my collection.

Edit

I'm sure you will have noticed if you click on an artist the document will go to the page for the artist and show a track listing. Also clicking on any track takes you back to the index.

steve-g
2015-11-03, 04:25
Yes it looks interesting - seems like a comprehensive way of documenting your collection rather than the simple list of album titles I keep at present.

Also, I suspect easier to keep up to date.

hermano
2015-11-03, 04:39
Hi all, don't know if anyone is interested but I've written an application that reads your LMS database and produces a PDF file of your music - when I was testing it it highlighted lots of incomplete tags and helped me clean up my library. The app is for Windows and all you need to do is copy a file called library.db from your server machine to your local drive and point my app at it. Let me know if anyone is interested.

I would not mind giving it a whirl. Where do we find it?

d6jg
2015-11-03, 04:56
I would be interested in that. I always curse when I am in a record shop (yes an actual shop) and can't get access to check whether I already have a version of a particular album - often happens with Jazz where there can be albums with different names that are the same thing.

w3wilkes
2015-11-03, 07:30
This looks pretty neat. I jumped into Cat Stevens in your PDF to find Tea for the Tillerman (a wonderful album). Looks like your copy is missing the last 3 songs and might have the year wrong.

pkfox
2015-11-03, 07:49
I would not mind giving it a whirl. Where do we find it?

I'll zip it up and post it here soon- possibly today - please note this is a Windows app although I'm working on an Android versio to.

Pascal Hibon
2015-11-03, 07:52
I would be interested in that. I always curse when I am in a record shop (yes an actual shop) and can't get access to check whether I already have a version of a particular album - often happens with Jazz where there can be albums with different names that are the same thing.

I use HanDBase (http://www.ddhsoftware.com/handbase.html) on my iPhone / iPad for that purpose.
Since I use iTunes to rip and manage my music, I simply export my music library to an excel file that I then feed to HanDBase. It allows you to make different views and it has pretty good search capabilities. Works very well.

d6jg
2015-11-03, 08:02
I use HanDBase (http://www.ddhsoftware.com/handbase.html) on my iPhone / iPad for that purpose.
Since I use iTunes to rip and manage my music, I simply export my music library to an excel file that I then feed to HanDBase. It allows you to make different views and it has pretty good search capabilities. Works very well.

I don't use iTunes at all these days Pascal. A simple PDF carried round on my iPhone would be fine for me.

Pascal Hibon
2015-11-03, 08:22
I don't use iTunes at all these days Pascal. A simple PDF carried round on my iPhone would be fine for me.

Sure, but HanDBase is not tied to iTunes. If you have a way to export your data to an CSV file then you can use HanDBase. HanDBase works great on a mobile device and it is a lot more flexible that a PDF file on a mobile device. HanDBase is actually a real database application where you can create views, use filters etc.
If the OP's application would be able to output a CSV file instead od a PDF then it could be used to feed it to HanDBase on your mobile phone. The OP's application could even ask the user what output format the user wants (PDF or CSV); if he is up to that of course.

EDIT: the OP would also benefit from using HanDBase; there is an Android version available!

d6jg
2015-11-03, 08:29
Sure, but HanDBase is not tied to iTunes. If you have a way to export your data to an CSV file then you can use HanDBase. HanDBase works great on a mobile device and it is a lot more flexible that a PDF file on a mobile device. HanDBase is actually a real database application where you can create views, use filters etc.
If the OP's application would be able to output a CSV file instead od a PDF then it could be used to feed it to HanDBase on your mobile phone. The OP's application could even ask the user what output format the user wants (PDF or CSV); if he is up to that of course.

I take your point about HanDBase.

You can use mp3tag to generate a csv but you have to load your entire library into first so it takes ages and the output is every artist (including those on compilations) not every album

There must be some SQLite Browser that can interrogate the db and output into csv but I haven't found one yet.

pkfox
2015-11-03, 08:52
This looks pretty neat. I jumped into Cat Stevens in your PDF to find Tea for the Tillerman (a wonderful album). Looks like your copy is missing the last 3 songs and might have the year wrong.

See what I mean ? it's very useful for highlighting things like this - I hadn't noticed this as I haven't played it for years - thanks - as for me uploading this app here I see there is a limit about 1.5mb for zip attachments and I can't compress it smaller than 2.5mb - any idea how or where I could put it so anyone that wanted it could get at it ?

d6jg
2015-11-03, 08:55
I take your point about HanDBase.

You can use mp3tag to generate a csv but you have to load your entire library into first so it takes ages and the output is every artist (including those on compilations) not every album

There must be some SQLite Browser that can interrogate the db and output into csv but I haven't found one yet.

There is a suitable tool !!!

SQL Lite Manager Firefox Add-on

The basic SQL syntax to produce a basic listing is

select albums.title, contributors.name, albums.year from albums left join contributors where albums.contributor = contributors.id

d6jg
2015-11-03, 09:11
See what I mean ? it's very useful for highlighting things like this - I hadn't noticed this as I haven't played it for years - thanks - as for me uploading this app here I see there is a limit about 1.5mb for zip attachments and I can't compress it smaller than 2.5mb - any idea how or where I could put it so anyone that wanted it could get at it ?

Do you have a Google drive or Dropbox. Put it there and share the link back here

pkfox
2015-11-03, 12:19
Do you have a Google drive or Dropbox. Put it there and share the link back here

I have a Dropbox account but don't know how to share a folder - I'm prompted to add members when I try - do you know how to make a publicly available share ?

d6jg
2015-11-03, 12:33
Google "Dropbox public folders"

garym
2015-11-03, 13:23
Google "Dropbox public folders"

yes, place in the "public folder" in your dropbox. Then right click file, click "copy public link" then paste that link here in a message. People can then download that particular file from your dropbox, but not otherwise have any access to your dropbox.

dasmueller
2015-11-03, 15:31
https://www.dropbox.com/help/16

according to the info in the link above newer dropbox versions-such as mine, do not have a public folder.

When I share things w dropbox I right click on the folder I want to share and select Share Dropbox Link. There then is a popup on the bottom right of the screen which says the link has been copied to the clipboard-click to view. After clicking to view the link I copy and paste it into the email I am sending. One should be able to do the same in a forum I would think

Jeff07971
2015-11-03, 15:40
https://www.dropbox.com/help/16

according to the info in the link above newer dropbox versions-such as mine, do not have a public folder.

When I share things w dropbox I right click on the folder I want to share and select Share Dropbox Link. There then is a popup on the bottom right of the screen which says the link has been copied to the clipboard-click to view. After clicking to view the link I copy and paste it into the email I am sending. One should be able to do the same in a forum I would think

In Windows, Click on the dropbox icon in the notification area
Click on the "World" icon, this will open to you dropbox on the web.

Down the lefthand side click sharing

On the right hand side of the folder list in line with the folder you want to share, click share > Send Link then copy and paste your link to the forum post

I suggest you create a directory purely for sharing first

pkfox
2015-11-03, 23:49
https://www.dropbox.com/help/16

according to the info in the link above newer dropbox versions-such as mine, do not have a public folder.

When I share things w dropbox I right click on the folder I want to share and select Share Dropbox Link. There then is a popup on the bottom right of the screen which says the link has been copied to the clipboard-click to view. After clicking to view the link I copy and paste it into the email I am sending. One should be able to do the same in a forum I would think

Hi, same for me I don't have a public folder - got it figured out now will post it tomorrow

pkfox
2015-11-04, 02:29
https://www.dropbox.com/s/4g31cf59suu8b8m/LMSDocumenter.zip?dl=1

steve-g
2015-11-04, 04:26
Thanks - I'll try it out

Edit - It doesn't work - I copied the files into a folder and ran it from there - is this right?

Comes up with a dialogue box - 'An item with the same key has already been added' - saying OK then a dialog box with the library statistics - 236 artists, 547 albums and 8040 tracks - this looks about right.

Generates a pdf which is 9kb

Acrobat Reader reports: 'There was an error opening this document. The file is damaged and could not be repaired.

Any ideas?

pkfox
2015-11-04, 06:07
Thanks - I'll try it out

Edit - It doesn't work - I copied the files into a folder and ran it from there - is this right?

Comes up with a dialogue box - 'An item with the same key has already been added' - saying OK then a dialog box with the library statistics - 236 artists, 547 albums and 8040 tracks - this looks about right.

Generates a pdf which is 9kb

Acrobat Reader reports: 'There was an error opening this document. The file is damaged and could not be repaired.

Any ideas?

Yes I had that once it turned out there was mutiple artists with the same name e.g I had The Rolling Stones and The rolling Stones in my database - the way the programme builds a TOC in the first pass is it assigns a key for the artist in a table which is used for the hyperlinks in the document and obviously it can't add a second unique key to the collection - I'll add some code to report any duplicate keys to the user - if you don't mind sending me your library.db I will investigate it here - thanks for feedback.

steve-g
2015-11-04, 06:26
You can download my library.db from here: https://dl.dropboxusercontent.com/u/16875599/library.db

I probably have quite a few occurences where the the artist name is slightly different for different albums - It's one of the things I need to tidy up.

Thanks for your help

Steve

pkfox
2015-11-04, 06:56
You can download my library.db from here: https://dl.dropboxusercontent.com/u/16875599/library.db

I probably have quite a few occurences where the the artist name is slightly different for different albums - It's one of the things I need to tidy up.

Thanks for your help

Steve

I've put a modified version on Dropbox now which has a checkbox you can tick to show you a message of the offending article - thanks for being my tester ?

Edit

I ran the app against your data and only got one error Florence The Machine so if you look at that and let me know what you can see it will help me.

Edit2
if you open your database using SQLiteBrowser and run this query you will see one of the names is in a different case.


select name from contributors
where name like "%florence%"

ModelCitizen
2015-11-04, 07:58
Hello Mr Fox.

Thanks very much for sharing this. It would be useful to me so I tried it on my 32 bit Windows 7 Pro machine (my combined desktop and Squeezebox server).

It errored and did not create the document (even though I hit 'continue').

Here is the error:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at System.Data.SQLite.UnsafeNativeMethods.sqlite3_con fig_none(SQLiteConfigOpsEnum op)
at System.Data.SQLite.SQLite3.StaticIsInitialized()
at System.Data.SQLite.SQLiteLog.Initialize()
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
at System.Data.SQLite.SQLiteConnection..ctor()
at LMS.MusicReader..ctor(String ConnString)
at LMSToPDF.Form1.btnGeneratePDF_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
LMSToPDF
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/LMSToPDF.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34251 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34270 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
PJK_FormsLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/PJK_FormsLib.DLL
----------------------------------------
CMSInterfaces
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/CMSInterfaces.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
PJKBaseControls
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/PJKBaseControls.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data.SQLite
Assembly Version: 1.0.98.0
Win32 Version: 1.0.98.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/System.Data.SQLite.DLL
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

steve-g
2015-11-04, 08:32
I've put a modified version on Dropbox now which has a checkbox you can tick to show you a message of the offending article - thanks for being my tester ?

Edit

I ran the app against your data and only got one error Florence The Machine so if you look at that and let me know what you can see it will help me.

Edit2
if you open your database using SQLiteBrowser and run this query you will see one of the names is in a different case.


I'm suprised theres only one! I've edited the tags on the second album (Lungs) and re-scanned. It now shows up correctly on squeezeplayer.

The error was 'Florence + The Machine' & 'Florence + the Machine' - A pdf was still produced correctly even with the error.

I'm now officially confused - your library statistics now show 1 less artist but the same number of albums and tracks (what I'd expect) BUT the pdf file only shows 1 album for florence - the one I've editted (Lungs) is not listed. Also what happened to the '+'?

I've updated the dropbox library.db if you want to take a look.

I don't have the SQLiteBrowser so can't look at the db - I'll see about getting a copy.

steve-g
2015-11-04, 08:51
OK i've got SQLiteBrowser - looking at the database shows that LMS has now tagged 'Lungs' as 'Various Artists' - even though it shows up correctly in the squeezeplayer!

And indeed Lungs is in the Various Artists section in the PDF file.

I'll do a clear library and rescan and try again and report back - probably tomorrow - I've run out of time today.

Edit: Yes thats fixed it

pkfox
2015-11-04, 09:11
OK i've got SQLiteBrowser - looking at the database shows that LMS has now tagged 'Lungs' as 'Various Artists' - even though it shows up correctly in the squeezeplayer!

And indeed Lungs is in the Various Artists section in the PDF file.

I'll do a clear library and rescan and try again and report back - probably tomorrow - I've run out of time today.

Edit: Yes thats fixed it

This is exactly why I wrote this program in the first place - I'm now very close to having a clean well tagged library - thanks for your help

pkfox
2015-11-04, 09:14
Hello Mr Fox.

Thanks very much for sharing this. It would be useful to me so I tried it on my 32 bit Windows 7 Pro machine (my combined desktop and Squeezebox server).

It errored and did not create the document (even though I hit 'continue').

Here is the error:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at System.Data.SQLite.UnsafeNativeMethods.sqlite3_con fig_none(SQLiteConfigOpsEnum op)
at System.Data.SQLite.SQLite3.StaticIsInitialized()
at System.Data.SQLite.SQLiteLog.Initialize()
at System.Data.SQLite.SQLiteConnection..ctor(String connectionString, Boolean parseViaFramework)
at System.Data.SQLite.SQLiteConnection..ctor()
at LMS.MusicReader..ctor(String ConnString)
at LMSToPDF.Form1.btnGeneratePDF_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
LMSToPDF
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/LMSToPDF.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34251 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34270 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34238 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
PJK_FormsLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/PJK_FormsLib.DLL
----------------------------------------
CMSInterfaces
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/CMSInterfaces.DLL
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34234 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
PJKBaseControls
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/PJKBaseControls.DLL
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data.SQLite
Assembly Version: 1.0.98.0
Win32 Version: 1.0.98.0
CodeBase: file:///C:/Program%20Files/Squeezebox-library/System.Data.SQLite.DLL
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34209 built by: FX452RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Hi there and thanks for your feedback - did you copy the library.db to a local drive ? - also what version / platform are you running the LMS server on ?

Pascal Hibon
2015-11-04, 09:34
There is a suitable tool !!!

SQL Lite Manager Firefox Add-on

The basic SQL syntax to produce a basic listing is

select albums.title, contributors.name, albums.year from albums left join contributors where albums.contributor = contributors.id

I don't want to hijack pkfox's thread but I just wanted to share some screenshots how HanDBase looks on an iPhone:

Default view, listing all tracks:

19135


Search "florence":

19137



Detail view of a record (track Papillon):

19136


Of course it is possible to re size the columns, to create different views on the database, use filters, etc. There are other columns who aren't currently visible on the screen but you can easily scroll to the left and right. I currently have 14525 records in the database and the app is still very fast on my iPhone 5. Recommended !

ModelCitizen
2015-11-04, 11:40
Hi there and thanks for your feedback - did you copy the library.db to a local drive ? - also what version / platform are you running the LMS server on ?

Thanks for the software!

I copied library.db to my desktop.
I created C:\Program Files\Squeezebox-library and unzipped your file into it. I made a shortcut to the exe and added it to my Windows start Bar/Programs. I used it to run the app on the library file saved to my desktop.

I am running 32 bit Windows 7, Service Pack 1 and LMS version 7.7.5 - 1416570306.
There's nothing non-standard about my set up.

I hope that's enough info.

pkfox
2015-11-04, 11:43
Hi there, my app is not meant to compete with a data management tool it is purely a cataloguer which produces a portable document.

pkfox
2015-11-04, 11:47
Thanks for the software!

I copied library.db to my desktop.
I created C:\Program Files\Squeezebox-library and unzipped your file into it. I made a shortcut to the exe and added it to my Windows start Bar/Programs. I used it to run the app on the library file saved to my desktop.

I am running 32 bit Windows 7, Service Pack 1 and LMS version 7.7.5 - 1416570306.
There's nothing non-standard about my set up.

I hope that's enough info.

Hi and thanks for your help in developing my application, what are you running your server on ? is it Linux or Windows ? Also could you send me your library.db file

Scott Crawford
2015-11-04, 14:26
Thanks pkfox, I've been wanting something like this for a long time. Worked great! :-)

ModelCitizen
2015-11-04, 15:28
Hi and thanks for your help in developing my application, what are you running your server on ? is it Linux or Windows ? Also could you send me your library.db file

It's the same machine...

I am running 32 bit Windows 7, Service Pack (see my first post for clarification).

How should I send you my library file?

pkfox
2015-11-04, 23:26
It's the same machine...

I am running 32 bit Windows 7, Service Pack (see my first post for clarification).

How should I send you my library file?

Easiest way is to put it on a share in Dropbox, the basic account is free. I think the error might be related to bitness the default setting on my compiler Is 64bit, I'll build a 32 bit version and put it on Dropbox

pkfox
2015-11-04, 23:27
Thanks pkfox, I've been wanting something like this for a long time. Worked great! :-)


You are welcome.

Pascal Hibon
2015-11-04, 23:46
Hi there, my app is not meant to compete with a data management tool it is purely a cataloguer which produces a portable document.

I know that and it is certainly not my intention to "compete". I was just showing what I'm currently using.
Your post got my intention because I initially thought it could simplify a part of the process of getting my library data into a CSV file. I currently have a few "manual" steps in my process that could be automated by a custom application.

pkfox
2015-11-04, 23:57
I know that and it is certainly not my intention to "compete". I was just showing what I'm currently using.
Your post got my intention because I initially thought it could simplify a part of the process of getting my library data into a CSV file. I currently have a few "manual" steps in my process that could be automated by a custom application.

Hi there, if you let me know what format you would like the CSV file in I could add it to the application. By format I mean what fields do you need
.

Pascal Hibon
2015-11-05, 00:35
Hi there, if you let me know what format you would like the CSV file in I could add it to the application. By format I mean what fields do you need
.

This is what my CSV file looks like that I feed to HanDBase:

19138


I don't know if LMS even stores the values of Key and BPM in their library but these values are stored in the metadata of my music files. I need to clarify that I also used this HanDBase list when I was still DJing. Those values were important to me at that time; today they are not mandatory anymore.
Hot List is a column that I manually add. It serves a purpose in my HanDBase db: I have created a view called Hot List and that view lists all tracks who have the Hot List checkbox checked. I used my iPad during DJing and used the Hot List checkbox as a memory aid: during the coarse of the night I would check this checkbox for tracks I might play later in the evening.

pkfox
2015-11-05, 01:21
Thanks pkfox, I've been wanting something like this for a long time. Worked great! :-)

Hi there I'm glad it works for you ModelCitizen is having problems running it on Win 7 32 bit - can you tell me what version of Windows you ran it on ?

pkfox
2015-11-05, 02:17
Thanks for the software!

I copied library.db to my desktop.
I created C:\Program Files\Squeezebox-library and unzipped your file into it. I made a shortcut to the exe and added it to my Windows start Bar/Programs. I used it to run the app on the library file saved to my desktop.

I am running 32 bit Windows 7, Service Pack 1 and LMS version 7.7.5 - 1416570306.
There's nothing non-standard about my set up.

I hope that's enough info.

Hi there sorry you are having problems - I ran my application against your library and it worked without error so I definitely think it's to do with the 32/64 bit architecture - I will rebuild everything today and reupload to Dropbox

steve-g
2015-11-05, 04:46
I've been taking a closer look at the pdf - your program seems to miss out special characters such as "'", "+", "&" etc. so that for instance 'Blackmore's Night' becomes 'BLACKMORE S NIGHT' and 'Florence + The Machine' becomes 'FLORENCE THE MACHINE' any chance of modifying it to get these back?

Otherwise it's an excellent tool which has shown up a few problems with my tagging which I'll have to get round to fixing.

Pascal Hibon
2015-11-05, 05:18
I've been taking a closer look at the pdf - your program seems to miss out special characters such as "'", "+", "&" etc. so that for instance 'Blackmore's Night' becomes 'BLACKMORE S NIGHT' and 'Florence + The Machine' becomes 'FLORENCE THE MACHINE' any chance of modifying it to get these back?

Otherwise it's an excellent tool which has shown up a few problems with my tagging which I'll have to get round to fixing.

Maybe the app is using the wrong db fields. I've been looking at the library with sqlite viewer and I noticed there are some fields who contain all uppercase values. I guess these are for search purposes.

19140




On another note, I found the BMP values are recorded in the LMS database. This field is located in the tracks table.

pkfox
2015-11-05, 06:15
Maybe the app is using the wrong db fields. I've been looking at the library with sqlite viewer and I noticed there are some fields who contain all uppercase values. I guess these are for search purposes.

19140




On another note, I found the BMP values are recorded in the LMS database. This field is located in the tracks table.

Good man - I'll amend the field, I think you're right I'm using the field LMS uses for sorting and searching - as for the BMP field I will include this when I write the CSV module, thanks for your help and feedback.

pkfox
2015-11-05, 06:17
I've been taking a closer look at the pdf - your program seems to miss out special characters such as "'", "+", "&" etc. so that for instance 'Blackmore's Night' becomes 'BLACKMORE S NIGHT' and 'Florence + The Machine' becomes 'FLORENCE THE MACHINE' any chance of modifying it to get these back?

Otherwise it's an excellent tool which has shown up a few problems with my tagging which I'll have to get round to fixing.

Yes I'm on the case - thanks.

d6jg
2015-11-05, 08:10
If it helps this is my SQL statement to extract the album listing sorted in the stanbard LMS way

select contributors.name, albums.title, albums.year from albums left join contributors where albums.contributor = contributors.id order by contributors.namesort ASC, albums.year ASC

This list albums in artist order with "The Allman Brothers" shown as the artist in proper case but under A rather than T the secondary sort is the year ie.

The Allman Brothers Live at The Filmore 1971
The Allman Brothers Brothers & Sisters 1973

pkfox
2015-11-05, 08:19
Hi All, I've put a modded version on Dropbox for you all to try - I've had lots of feedback which helps enormously as there's only so far I can take things on my own. Thanks to you all.


https://www.dropbox.com/s/4g31cf59suu8b8m/LMSDocumenter.zip?dl=1

d6jg
2015-11-05, 08:28
Hi All, I've put a modded version on Dropbox for you all to try - I've had lots of feedback which helps enormously as there's only so far I can take things on my own. Thanks to you all.


https://www.dropbox.com/s/4g31cf59suu8b8m/LMSDocumenter.zip?dl=1

Just tried it again. Good stuff. Slight issue with my Artist count where everything in compilations is treated as being Various Artists and the individual album does not show the Artist either. Would be great if individuals could configure their own format. Where are the SQL statements recorded ?

pkfox
2015-11-05, 08:37
Just tried it again. Good stuff. Slight issue with my Artist count where everything in compilations is treated as being Various Artists and the individual album does not show the Artist either. Would be great if individuals could configure their own format. Where are the SQL statements recorded ?

Hi there and thanks for your feedback - as the LMS servers use SQLite which doesn't support stored procedures the SQL statements are hard coded - if you want them I can put them on here.

Pascal Hibon
2015-11-05, 09:05
I also gave the latest version a go and I too have a result that is different from LMS:

According to LMS, I have 14.699 tracks, 1746 albums and 3354 artists.
The PDF file lists: 14.532 tracks, 1746 albums and 712 artists.

The number of albums is the same but the number of tracks and especially the number of artists is different.
As far as I can see, the PDF doesn’t list any of my compilation albums.

pkfox
2015-11-05, 09:12
I also gave the latest version a go and I too have a result that is different from LMS:

According to LMS, I have 14.699 tracks, 1746 albums and 3354 artists.
The PDF file lists: 14.532 tracks, 1746 albums and 712 artists.

The number of albums is the same but the number of tracks and especially the number of artists is different.
As far as I can see, the PDF doesn’t list any of my compilation albums.

Hi there, thanks for your feedback , I'm looking into it now - it appears that not all contributors are linked to either an album or a track if you run the query below you will probably see the missing records



select * from contributors
left join albums
on contributors.id = albums.contributor
left join tracks
on tracks.album = albums.id
where contributors.id not in
(select contributors.id from contributors
inner join albums
on contributors.id = albums.contributor
inner join tracks
on tracks.album = albums.id)
order by contributors.id

d6jg
2015-11-05, 09:23
Hi there and thanks for your feedback - as the LMS servers use SQLite which doesn't support stored procedures the SQL statements are hard coded - if you want them I can put them on here.

There are obviously 2 parts to your app. 1 the sql that gets the data and 2 the itext (it is itext isn't it?) that generates the PDF. My company has done some itext development in the past so I know it is quite time consuming to layout the PDF the way you want. You could spend hours and hours getting it exactly how folk would like :)

Pascal Hibon
2015-11-05, 09:27
Hi there, thanks for your feedback , I'm looking into it now - it appears that not all contributors are linked to either an album or a track if you run the query below you will probably see the missing records



select * from contributors
left join albums
on contributors.id = albums.contributor
left join tracks
on tracks.album = albums.id
where contributors.id not in
(select contributors.id from contributors
inner join albums
on contributors.id = albums.contributor
inner join tracks
on tracks.album = albums.id)
order by contributors.id


That spit out a list of 2642 lines. These are artists that could belong to a compilation albums, yes.

pkfox
2015-11-05, 09:32
There are obviously 2 parts to your app. 1 the sql that gets the data and 2 the itext (it is itext isn't it?) that generates the PDF. My company has done some itext development in the past so I know it is quite time consuming to layout the PDF the way you want. You could spend hours and hours getting it exactly how folk would like :)

Hi there, yes it is iText and yes it is time consuming but my concern is that some people are getting incorrect counts which differ from their LMS library stats whereas mine are spot on

d6jg
2015-11-05, 09:32
That spit out a list of 2642 lines. These are artists that could belong to a compilation albums, yes.

It also contains secondary artist tags i.e. where you have tagged a track with say "J.J.Cale; Eric Clapton; J.J Cale & Eric Clapton" as I have.

pkfox
2015-11-05, 09:33
That spit out a list of 2642 lines. These are artists that could belong to a compilation albums, yes.

Indeed they could belong to a compilation but they should still be associated with an album and a track.

d6jg
2015-11-05, 09:35
Hi there, yes it is iText and yes it is time consuming but my concern is that some people are getting incorrect counts which differ from their LMS library stats whereas mine are spot on

My album count is correct. All my compilations appear under "Various Artists". I do NOT use compilations tag at all and my understanding of LMS (7.8) is that if an album contains multiple artists but no albumartist tag then it will be treated as a compilation and stuck under "Various Artists" which is what your app produces for me. The artist count is wrong as none of the artists in the Various Artists (108 albums) have appeared.

pkfox
2015-11-05, 09:43
My album count is correct. All my compilations appear under "Various Artists". I do NOT use compilations tag at all and my understanding of LMS (7.8) is that if an album contains multiple artists but no albumartist tag then it will be treated as a compilation and stuck under "Various Artists" which is what your app produces for me. The artist count is wrong as none of the artists in the Various Artists (108 albums) have appeared.

So are you saying it's the way people tag their files that determine the accuracy of my document ? I'm very open to suggestions :-)

d6jg
2015-11-05, 09:50
So are you saying it's the way people tag their files that determine the accuracy of my document ? I'm very open to suggestions :-)

Possibly. There isn't much difference between what I get and what Pascal gets. He has some missing tracks whereas I don't. I suspect he may have missed the Various Artists in the index but maybe not. Pascal ?

I have just had a look at the tables in my db.

contributors = 4843
contributors_album = 7536
contributors_track = 28737

I actually have around 2,300 artists according to LMS. It looks to me like the key field is in tracks and is "primary_artist"

d6jg
2015-11-05, 10:07
For clarity I should add that although I do NOT use the compilations tag at all in any of my tracks a Various Artists album in "albums" does have a 1 in the compilation field. This is LMS writing it to the db based on the fact that the album in question has multiple artists but no albumartist.

Pascal Hibon
2015-11-05, 10:11
Possibly. There isn't much difference between what I get and what Pascal gets. He has some missing tracks whereas I don't. I suspect he may have missed the Various Artists in the index but maybe not. Pascal ?


I just did a text search on the PDF file and there are no Various Artists. But I believe it is correct that the results might be different according to the way files are tagged. I need to investigate a bit further and I will come back if I find something that could be a clue.

Pascal Hibon
2015-11-05, 11:45
Found this is my archive; maybe it can be useful. It shows how the different tables are tied together in LMS.

19141

d6jg
2015-11-05, 12:08
Found this is my archive; maybe it can be useful. It shows how the different tables are tied together in LMS.

19141

Are you sure that is the current structure? I ask because I was looking at the tracks table and there is a field called primary_artist (INT) which equates to "artist" in tag terms and that isn't in the table in your PDF.

dasmueller
2015-11-05, 12:15
Kudos to pkfox for developing this and to the others helping him fine-tune it. I have looked for something along these lines since ACC was no longer being updated. Currently am in the midst of reviewing my library tags. I will probably wait until I am done w that process and then try this out. I'm at the letter S now so it will probably be a few weeks yet. Keep up the good work and thanks !

Pascal Hibon
2015-11-05, 12:18
Are you sure that is the current structure? I ask because I was looking at the tracks table and there is a field called primary_artist (INT) which equates to "artist" in tag terms and that isn't in the table in your PDF.

No, I'm not sure. I found it in my archives :-) It is for sure a few years old.
I can't find a way to display the database relationships with the sqlite browser I'm using.
But I guess that the relationships between the album, tracks and contributor_album, contributor_track and contributor tables would still be more or less the same.
From a first glance, this is how I think these tables are linked and this will be important to create an SQL query that would retrieve the correct data. Anyway, I'm not an expert on SQL...

EDIT: maybe we should ask Michael. He might have a current version.

d6jg
2015-11-05, 12:23
I am convinced that primary_artist in tracks is key to the structure these days. There is nothing else in tracks that associates a given track to an artist except that and the album number.

If I was to bet I would say that they LMS artist count is the sum of unique artists in albums plus the number of unique primary_artists in tracks.

Edit. Yes to asking Michael.

Pascal Hibon
2015-11-05, 12:36
I am convinced that primary_artist in tracks is key to the structure these days. There is nothing else in tracks that associates a given track to an artist except that and the album number.

If I was to bet I would say that they LMS artist count is the sum of unique artists in albums plus the number of unique primary_artists in tracks.

Edit. Yes to asking Michael.

The artist count in LMS equals to the number of entries in the contributors tables in my case (3354).
And I believe that the contributors table is at the "center": from there it hooks the artists and the tracks through the contributors_artists and contributors_tracks tables. (I think).
The strange thing is that I have 14809 entries in the contributors_tracks table. I would expect that the be equal to the number of tracks in LMS (14699)... argh...

d6jg
2015-11-05, 12:45
My contributors table is vastly different to the no of artists in my case. 4000+ in the table v 2300 reported by LMS.
My table contains composers etc as well as "artists"

Pascal Hibon
2015-11-05, 12:49
hm... that certainly suggest that the way of tagging influences the way LMS stores the data.
Hope that Michael comes to the rescue :-)

w3wilkes
2015-11-06, 00:00
@Pascal,
LMS does store BPM in the database if... It is an integer. I have BPM saved for all my music. I use MixMeister to initially populate my mp3 files with BPM. Then I use a Mp3Tag Action plugin from user "Moonbase" to round the BPM to the nearest whole number before I add the music to LMS.
http://forums.mp3tag.de/index.php?showtopic=8295&mode=threaded&pid=72895
I have the Dynamic Playlist and SQL Playlist plugins from Erland Isaksson. I can create a basic SQL playlist and then manually edit the SQL to add BPM as a selection criterea. I requested that Erland add BPM support to the SQL Playlist pluggin after I bought it, but I guess he's too busy with the ickStream project to be able to add anything to the stuff he's already sold.

pkfox
2015-11-06, 00:34
Kudos to pkfox for developing this and to the others helping him fine-tune it. I have looked for something along these lines since ACC was no longer being updated. Currently am in the midst of reviewing my library tags. I will probably wait until I am done w that process and then try this out. I'm at the letter S now so it will probably be a few weeks yet. Keep up the good work and thanks !

Hi there if you doing a tag review then this applications will be of help, even on very large libraries it only takes a few seconds to complete.

Pascal Hibon
2015-11-06, 02:34
@Pascal,
LMS does store BPM in the database if... It is an integer.

Yes, I found the bpm value in the tracks table.
I'm using Mixed In Key to generate the bmp and key values. My bpm values are in "Denon" format and are indeed numeric.

ModelCitizen
2015-11-06, 02:53
Thanks PK.

Latest version worked for me on a 32 bit system. Will have a closer look at the output this evening.

Thanks very much.

pkfox
2015-11-06, 03:51
hm... that certainly suggest that the way of tagging influences the way LMS stores the data.
Hope that Michael comes to the rescue :-)

Don't know what I've started here :-) Using my database as a test piece I've noticed that I have missing contributors for mp3 files that I've bought, all my personally ripped flac files are ok ( they have a contributor , track and album id ) the mp3 files have different tags that don't show up in EasyTag which is my editor. If I use mp3tag to look at the mp3 files they have more information in them such as Composer which LMS seems to create an entry for in contributor_tracks but not in albums or tracks which I find strange. So basically as it stands my app is found wanting - I'll have to find a way of finding the album the track is on and link that to the track listing in my document under the Composers name as well as the album it's on.

d6jg
2015-11-06, 06:41
Don't know what I've started here :-) Using my database as a test piece I've noticed that I have missing contributors for mp3 files that I've bought, all my personally ripped flac files are ok ( they have a contributor , track and album id ) the mp3 files have different tags that don't show up in EasyTag which is my editor. If I use mp3tag to look at the mp3 files they have more information in them such as Composer which LMS seems to create an entry for in contributor_tracks but not in albums or tracks which I find strange. So basically as it stands my app is found wanting - I'll have to find a way of finding the album the track is on and link that to the track listing in my document under the Composers name as well as the album it's on.

In contributor_albums and contributor_tracks it seems that the role (appears to be 1 to 6) is dependent on which tag LMS read.

I think I have identified that role 6 equates to AlbumArtist whereas role 5 is TrackArtist BUT if there is no AlbumArtist in the file it is role 1. role 2 is Composer. I haven't found examples of 3 & 4 yet.

EDIT. role 3 is Conductor

pkfox
2015-11-06, 08:15
In contributor_albums and contributor_tracks it seems that the role (appears to be 1 to 6) is dependent on which tag LMS read.

I think I have identified that role 6 equates to AlbumArtist whereas role 5 is TrackArtist BUT if there is no AlbumArtist in the file it is role 1. role 2 is Composer. I haven't found examples of 3 & 4 yet.

EDIT. role 3 is Conductor

I wondered what role was for :-) I've now got to the point where I find the underlying album for a contributor who is *on* an album but haven't figured out how to only identify the tracks they are related to - as it is I'm getting all the tracks on the album , which is what I want for a *main* contributor but not one that is on only one or two tracks

d6jg
2015-11-06, 08:41
In tracks look at primary_artist - it's a contributor ID. It is the equivalent of Artist as opposed to AlbumArtist.

reinholdk
2015-11-06, 10:30
In contributor_albums and contributor_tracks it seems that the role (appears to be 1 to 6) is dependent on which tag LMS read.

I think I have identified that role 6 equates to AlbumArtist whereas role 5 is TrackArtist BUT if there is no AlbumArtist in the file it is role 1. role 2 is Composer. I haven't found examples of 3 & 4 yet.

EDIT. role 3 is Conductor

See this post (http://forums.slimdevices.com/showthread.php?103454-Sort-order-forms-for-names&p=816429&viewfull=1#post816429) for a list of contributor roles.

reinholdk
2015-11-06, 10:35
See here (http://forums.slimdevices.com/showthread.php?101600-LMS-Extractor-Is-Now-Available&p=781353&viewfull=1#post781353) for an other application that exports data from LMS (didn't try it myself).

Pascal Hibon
2015-11-06, 11:02
See here (http://forums.slimdevices.com/showthread.php?101600-LMS-Extractor-Is-Now-Available&p=781353&viewfull=1#post781353) for an other application that exports data from LMS (didn't try it myself).

Just gave it a try and it always reports an SQL error. This probably due to some changes in the db over time(?)

pkfox
2015-11-06, 11:48
See this post (http://forums.slimdevices.com/showthread.php?103454-Sort-order-forms-for-names&p=816429&viewfull=1#post816429) for a list of contributor roles.

Very useful thanks

reinholdk
2015-11-06, 13:27
Just gave it a try and it always reports an SQL error. This probably due to some changes in the db over time(?)

Just tried and it worked for me, using a LMS 7.8 library file. Don't have a current 7.9 installed.
But the good thing with this application is, you can adapt the SQL statements yourself, if necessary.

Pascal Hibon
2015-11-06, 22:15
Just tried and it worked for me, using a LMS 7.8 library file. Don't have a current 7.9 installed.
But the good thing with this application is, you can adapt the SQL statements yourself, if necessary.

I'm running 7.9.
If there are differences in the db between LMS versions then it will be hard to sustain such an application.

Yes, I do like the fact that it has "presets" so that the user can generate different output data / reports. Of course, not everyone master's SQL enough to be able to modify the queries. This thread is a good example; it is already hard enough to "reverse engineer" how the different tables in the db interact.

reinholdk
2015-11-07, 05:08
I'm running 7.9.
If there are differences in the db between LMS versions then it will be hard to sustain such an application.

Yes, I do like the fact that it has "presets" so that the user can generate different output data / reports. Of course, not everyone master's SQL enough to be able to modify the queries. This thread is a good example; it is already hard enough to "reverse engineer" how the different tables in the db interact.

You're right, of course, but with some help from forum users it is at least *possible* to adapt to db changes, even if the app is no longer maintained.
So reading the SQL statements from a file could also be a way for the OP's application to allow future adaptations.

ModelCitizen
2015-11-07, 07:40
Has anyone an idea of why this discrepancy with Artist count?

PKFox Cataloger reports:
You have 715 Artists
With 1899 Albums
Containing 25855 Tracks
With a total runtime of: 2032h:15m:0s

LMS Reports:
Total Tracks: 25,855
Total Albums: 1,899
Total Artists: 896
Total Playing Time: 2032:13:58

pkfox
2015-11-07, 08:40
Has anyone an idea of why this discrepancy with Artist count?

PKFox Cataloger reports:
You have 715 Artists
With 1899 Albums
Containing 25855 Tracks
With a total runtime of: 2032h:15m:0s

LMS Reports:
Total Tracks: 25,855
Total Albums: 1,899
Total Artists: 896
Total Playing Time: 2032:13:58

Hi there, I'm investigating this issue - I think its because I only select artists that have a link to an album and a track, I notice that any downloaded mp3 files I have ( which is not many ) are not included in the output. All my tracks ripped by me are fine.

dasmueller
2015-11-07, 10:09
Having trouble here. Maybe because I am not all that tech savvy. Downloaded the program. Put a name in the name box. When I did a search on my Windows 7 64bit machine for a library.db file nothing is found. I tried to point the app at my library by browsing to-K:tagged which is where my files are kept. In the dialog box up comes liybrary w a y ? Selecting that and open I get a file not found msg. What am I doing wrong ?

Sorry for being dumb.

epoch1970
2015-11-07, 10:31
(I don't want to hijack the thread, but I simply have to ask...)

One thing puzzles me: in the various catalog apps or generators I've seen, I've never found the option to actually consume the contents that are being catalogued. Never a "play" button. Why is that?

To me a catalog is a great way to navigate/discover a collection. But if I browse, I want to get easy access to an element of the collection in the end. That could be, in the case of LMS, embedding a link designed for the directplay plugin for example (or perhaps on tablets some deep-link to your favorite Squeezebox remote app.) If the catalog is printed, a QR or bar code could embed such a link.

Could I be the only one who wants a "play" button on catalog pages?

ModelCitizen
2015-11-07, 11:02
Having trouble here. Maybe because I am not all that tech savvy. Downloaded the program. Put a name in the name box. When I did a search on my Windows 7 64bit machine for a library.db file nothing is found.
In Windows 7 the library file can usually be found at C:\ProgramData\Squeezebox\Cache. It might be hidden on your computer so you'll need to ensure you are able to view system files.

Copy the library.db file and aim the app at the copy (I copied mine to the desktop). It could be dangerous to aim it at your live version (and better safe than sorry!).

reinholdk
2015-11-07, 11:03
Having trouble here. Maybe because I am not all that tech savvy. Downloaded the program. Put a name in the name box. When I did a search on my Windows 7 64bit machine for a library.db file nothing is found. I tried to point the app at my library by browsing to-K:tagged which is where my files are kept. In the dialog box up comes liybrary w a y ? Selecting that and open I get a file not found msg. What am I doing wrong ?

Sorry for being dumb.

The library.db file is located in LMS' cache folder. And the location of this folder is stated on the LMS WebUI->Settings->Information page.
If LMS is running on your Win7 box then it's probably C:\ProgramData\Squeezebox\Cache.

dasmueller
2015-11-07, 12:17
When I navigate to the cache folder and try to open it I get a msg that windows cannot open this file cache.db. I assume the library.db is inside this file ?

Thanks for helping

garym
2015-11-07, 12:36
(I don't want to hijack the thread, but I simply have to ask...)

One thing puzzles me: in the various catalog apps or generators I've seen, I've never found the option to actually consume the contents that are being catalogued. Never a "play" button. Why is that?

To me a catalog is a great way to navigate/discover a collection. But if I browse, I want to get easy access to an element of the collection in the end. That could be, in the case of LMS, embedding a link designed for the directplay plugin for example (or perhaps on tablets some deep-link to your favorite Squeezebox remote app.) If the catalog is printed, a QR or bar code could embed such a link.

Could I be the only one who wants a "play" button on catalog pages?

In many ways what you are asking for is what we already have with LMS. You can list ALBUM, ARTISTS > ALBUMS, etc. and then play from there.

garym
2015-11-07, 12:56
When I navigate to the cache folder and try to open it I get a msg that windows cannot open this file cache.db. I assume the library.db is inside this file ?

Thanks for helping

no, go to cache folder, then look for the file named "library.db". Copy this file to your desktop, and then use that file for input into creating the pdf.

dasmueller
2015-11-07, 14:58
When I navigate To C:\ProgramData\Squeezebox\Cache I see a file called library, and one named library.db-shm, and one named library.db-wal. I am running version 7.7.4 if that makes a difference.

What program is supposed to be able to open these files ?

garym
2015-11-07, 16:57
When I navigate To C:\ProgramData\Squeezebox\Cache I see a file called library, and one named library.db-shm, and one named library.db-wal. I am running version 7.7.4 if that makes a difference.

What program is supposed to be able to open these files ?

Maybe you've told your windows explorer not to show file extensions? This is my C:\ProgramData\Squeezebox\Cache contents. see pic.

19171

dasmueller
2015-11-07, 19:38
I got it to work a few hrs. ago but had to go out for a bit. I had to add a .db to the library folder and then it worked.

Searching for how to open the file I inadvertently changed how that file type opens to Adobe Acrobat Reader and do not know how to change it to what it should be. Told you I was dumb.


The results I got mirrored the LMS control Panel for the # of Albums and the number of Tracks. For some reason the number of Artists is 8 less w the app than LMS reports. I have not had time to look through it yet. Maybe tomorrow.

I would assume that if one does a nightly scan one would need to regenerate the PDF w the app. There is no way to get an auto-update ?

garym
2015-11-08, 06:12
I got it to work a few hrs. ago but had to go out for a bit. I had to add a .db to the library folder and then it worked.

Searching for how to open the file I inadvertently changed how that file type opens to Adobe Acrobat Reader and do not know how to change it to what it should be. Told you I was dumb.


The results I got mirrored the LMS control Panel for the # of Albums and the number of Tracks. For some reason the number of Artists is 8 less w the app than LMS reports. I have not had time to look through it yet. Maybe tomorrow.

I would assume that if one does a nightly scan one would need to regenerate the PDF w the app. There is no way to get an auto-update ?

my album number and tracks are reported the same as LMS. My number of artists is 3 less. Regarding changing the default program to open a file type, go to the file in question, right click, then choose "open with". Then "choose default program", then choose the program you want to use to open that file (or browse to find it).

dasmueller
2015-11-08, 07:10
gary thanks. I know that. What I do not know is what the correct program is to open a .db file. Doing a web search did not help either.

pkfox
2015-11-08, 07:14
gary thanks. I know that. What I do not know is what the correct program is to open a .db file. Doing a web search did not help either.

If you are using a Windows box use SQLiteBrowser

dasmueller
2015-11-08, 07:36
I am not making myself clear-sorry. While trying to figure out how to get things to work w the app yesterday I could not open the file to look at it. So, being a dumb rookie I t changed what program opens that type of file. The 2nd time I did that I selected Adobe Acrobat which did not work either. That changed the icon on the folder to PDF. Now that I have been able to get the app to work I would like to change the icon back to what it was and just leave things alone. I just don't know how to do that. I've looked on the web, looked around in the Control Panel etc. no luck. I believe there was some sort of gear icon there originally.

garym
2015-11-08, 08:02
I am not making myself clear-sorry. While trying to figure out how to get things to work w the app yesterday I could not open the file to look at it. So, being a dumb rookie I t changed what program opens that type of file. The 2nd time I did that I selected Adobe Acrobat which did not work either. That changed the icon on the folder to PDF. Now that I have been able to get the app to work I would like to change the icon back to what it was and just leave things alone. I just don't know how to do that. I've looked on the web, looked around in the Control Panel etc. no luck. I believe there was some sort of gear icon there originally.

hmmm. not sure about how to change the .db file back to some default. I think the suggestion of an SQL program above is the best approach as I assume that is the type of program to open a .db file. Even if you don't change it, it shouldn't cause any problems, as you don't typically edit a db file anyhow.

pkfox
2015-11-08, 08:30
I am not making myself clear-sorry. While trying to figure out how to get things to work w the app yesterday I could not open the file to look at it. So, being a dumb rookie I t changed what program opens that type of file. The 2nd time I did that I selected Adobe Acrobat which did not work either. That changed the icon on the folder to PDF. Now that I have been able to get the app to work I would like to change the icon back to what it was and just leave things alone. I just don't know how to do that. I've looked on the web, looked around in the Control Panel etc. no luck. I believe there was some sort of gear icon there originally.

Hi there - to reset the default program you need to go to Explorer - right click on library.db - open with - then browse to SQLiteBrowser.exe whilst making sure the checkbox "Always use the selected program to open this sort of file" is checked

dasmueller
2015-11-08, 09:14
Issue resolved. I used a system restore. I had a restore point of 11/4. The system restore did run completely successfully but it resolved my issue. LMSDocumenter was missing most everything so I deleted and reinstalled.

Thanks to all for your help

dasmueller
2015-11-08, 11:33
Took a quick look through the list of artists and found 4 entries w errors, spelling, punctuation and capital vs lower case letters-just the type of things I have been working on !

dasmueller
2015-11-08, 19:02
Continuing on w my tag revision today I then ran a Look For New And Changed media files scan. Total Artists still is off. Perhaps a Clear And Rescan will be different. Anyone else have any input as to their results of various types of rescan ?

ModelCitizen
2015-11-08, 23:39
I think the artist account disagrees with that of LMS for pretty much everyone who's tried the software. PKFox is aware of it (read back through thread).

last.fm/user/modelcitizen

pkfox
2015-11-09, 11:16
I think the artist account disagrees with that of LMS for pretty much everyone who's tried the software. PKFox is aware of it (read back through thread).

last.fm/user/modelcitizen

Hi there, I'm working on a way to improve the accuracy of the artist count will put up a new version soon - thanks to everyone for their feedback.

d6jg
2015-11-09, 14:05
Can anybody define how LMS actually calculates the Artist Count?

It isn't the number of lines in "contributors" in my DB although in Pascal's case it was.

pkfox
2015-11-09, 14:11
Can anybody define how LMS actually calculates the Artist Count?

It isn't the number of lines in "contributors" in my DB although in Pascal's case it was.

I think it depends on whether you rip them yourself or download something

d6jg
2015-11-09, 14:18
It must be the sum of something identifiable. I think it may be Album Artists (role 5 or is it 6) plus Artists (role 1) but I can't be sure without lots of testing.

dasmueller
2015-11-09, 19:30
I am not at all familiar with working with PDF files. I was thinking earlier today that there should be some way to do a search of a PDF file so I did a search on the web. If one clicks edit and then selects Find one can do a search. The point being I did so today and plugged in tofu-from Bela Fleck and the Flecktones UFO tofu. For some reason it showed up in Various Artists as well as another Bela folder along with 2 other folders. One of the other folders had different artists within the folder. The other did not. As steve-g stated earlier a Clear library and rescan everything resolved the issue w the Bela folders and the other folder that did not have issues that would lead me to believe it would turn up under Various Artists. Why these showed up under Various I have no clue as I have modified numerous folders in the last few days that did not show up under Various Artists

As far as the Artist count thing goes I have no clue but wonder if somehow there might be something in Extended Tags that causes it. If only there was a simple way to determine what Artists folders were not picked up. Of course it might be that LMS picks up additional artists due to some tagging issue as well. Someone way smarter than me may figure that out.

pkfox
2015-11-09, 23:11
I am not at all familiar with working with PDF files. I was thinking earlier today that there should be some way to do a search of a PDF file so I did a search on the web. If one clicks edit and then selects Find one can do a search. The point being I did so today and plugged in tofu-from Bela Fleck and the Flecktones UFO tofu. For some reason it showed up in Various Artists as well as another Bela folder along with 2 other folders. One of the other folders had different artists within the folder. The other did not. As steve-g stated earlier a Clear library and rescan everything resolved the issue w the Bela folders and the other folder that did not have issues that would lead me to believe it would turn up under Various Artists. Why these showed up under Various I have no clue as I have modified numerous folders in the last few days that did not show up under Various Artists

As far as the Artist count thing goes I have no clue but wonder if somehow there might be something in Extended Tags that causes it. If only there was a simple way to determine what Artists folders were not picked up. Of course it might be that LMS picks up additional artists due to some tagging issue as well. Someone way smarter than me may figure that out.

Hi there, as I said in another post I noticed that mp3 files have extra tag info that might affect how they are classified.

BJW
2015-11-10, 11:43
don't want to drag this OT but this is related to the last few posts i think:

http://bugs.slimdevices.com/show_bug.cgi?id=8764

i don't understand why this is difficult? the app should be able to easily count artists, album artists, and albums, and delineate easily imo.

EDIT: by "app" i mean LMS!

RussellMrgn
2015-11-10, 14:27
Downloaded this to give it a try, works great for me. Thank you for all the hard work you put into this.

ply3908
2015-11-10, 21:59
What font is used for generate the PDF file? The Chinese characters are not displayed.

pkfox
2015-11-11, 00:14
Downloaded this to give it a try, works great for me. Thank you for all the hard work you put into this.

Hi there and thank you - do your counts match with LMS ?

pkfox
2015-11-11, 02:12
What font is used for generate the PDF file? The Chinese characters are not displayed.

Helvetica

pkfox
2015-11-11, 02:22
don't want to drag this OT but this is related to the last few posts i think:

http://bugs.slimdevices.com/show_bug.cgi?id=8764

i don't understand why this is difficult? the app should be able to easily count artists, album artists, and albums, and delineate easily imo.

The problem is , my app gets all my counts correct , some other folks here get some counts correct and others get all counts correct - it's not as simple as running a few SQL queries , what I need is the code to see how LMS decides what and how to tag a contributor, album and track counts seem ok

dasmueller
2015-11-11, 10:42
I haven't really watched in awhile what LMS reports on a daily basis. I do recall 5that I did so awhile back and the numbers changed even though I had added nothing or made any revisions. I have a Looked For new And Changed Media Files scheduled to run daily overnight. I guess my point is perhaps LMS is not infallible in how it scans.

BJW
2015-11-12, 04:12
i just realized that in my last post i said "app" and didn't specify! i meant LMS, not the new cataloguer! it is LMS which baffles me at being so imprecise with counts...

that bug is older but it may be one Michael is willing to tackle now. perhaps i will rerun the experiments and do the screenshots as described in the bug.

mherger
2015-11-12, 04:23
> Can anybody define how LMS actually calculates the Artist Count?

Why would you do the counting yourself? Let LMS do it for you, then you
don't have to know about the innards :-).

Because the number of artists depends heavily on your LMS settings: what
are artists or contributors? Should band, conductor, composer etc. be
counted or not? You can't get the number identical to LMS' count without
re-implementing all those conditions.

(similar arguments apply to track/album count)

--

Michael

Pascal Hibon
2015-11-12, 05:13
> Can anybody define how LMS actually calculates the Artist Count?

Why would you do the counting yourself? Let LMS do it for you, then you
don't have to know about the innards :-).



Hi Michael,
How would one let LMS do the counting; is there an SQL query that would provide such output?

BJW
2015-11-12, 05:23
Why would you do the counting yourself? Let LMS do it for you, then you
don't have to know about the innards :-).

Because the number of artists depends heavily on your LMS settings: what
are artists or contributors? Should band, conductor, composer etc. be
counted or not? You can't get the number identical to LMS' count without
re-implementing all those conditions.

Michael, please look at the bug i posted. there are times LMS disagrees with itself even when settings are NOT changed.

reinholdk
2015-11-12, 05:56
Hi Michael,
How would one let LMS do the counting; is there an SQL query that would provide such output?

There should be a CLI command to request this information from LMS.

mherger
2015-11-12, 06:19
> There should be a CLI command to request this information from LMS.

info total artists ?

http://localhost:9000/html/docs/cli-api.html?player=#DB

--

Michael

mherger
2015-11-12, 06:20
> Michael, please look at the bug i posted. there are times LMS disagrees
> with itself even when settings are NOT changed.

That bug report was filed more than seven years ago. LMS 7.4. We're at
7.9 now, and not only did we fix quite a few bugs in the meantime, but
the whole browsing has seen a lot of unifying. Please try to reproduce
in 7.9 first.

--

Michael

BJW
2015-11-12, 07:03
>Please try to reproduce in 7.9 first.

i will gladly do so, and i encourage others to do so. it may take me a few weeks though, i'm not home. if the effort is made, i hope this time it yields results.

Pascal Hibon
2015-11-12, 11:51
> There should be a CLI command to request this information from LMS.

info total artists ?

http://localhost:9000/html/docs/cli-api.html?player=#DB

--

Michael

Sure, but this is not what pkfox is looking for. He needs a way to retrieve all tracks with the info on what album the tracks belong to.
I would be very surprised if a CLI command, or even a sequence of CLI commands, would export the entire library. I guess the best way to achieve that is by accessing the DB directly. But as you mentioned, even that will be very hard since LMS is very configurable.

dasmueller
2015-11-12, 11:56
Hi there, as I said in another post I noticed that mp3 files have extra tag info that might affect how they are classified.

pkfox- I removed all of my mp3 files from my library and then did a Look for new and changed media scan. I then ran your app. Artist count was still different so I am thinking it's something other than tags in mp3 files. Also did a search for ALBUM_ARTIST and COMPOSER tags in my FLAC library-none there. I did remove a bunch of extraneous/extended tags from my mp3 files so that was a good thing.

I guess I'm not all that concerned about the small discrepancy in counts. I think your app is great and thanks for sharing.

mherger
2015-11-12, 13:34
>> http://localhost:9000/html/docs/cli-api.html?player=#DB
>
> Sure, but this is not what pkfox is looking for. He needs a way to
> retrieve all tracks with the info on what album the tracks belong to.
> I would be very surprised if a CLI command, or even a sequence of CLI
> commands, would export the entire library.

How do you expect does LMS send all the albums lists etc. to the player
UI or iPeng or whatnot? Of course this is possible with the CLI. Just
read the documentation about the various parameters you can use to get
additional data for eg. tracks. Or get the full list of albums and
iterate over it to get tracks album by album. It's all in there.
Probably not as fast as raw SQL, but this shouldn't matter for this use
case. Plus it doesn handle all the LMS settings the way LMS does for all
the other UIs.

> I guess the best way to
> achieve that is by accessing the DB directly.

No, that's definitely not the best way. It's a waste of time, because
you'd have to re-implement LMS' logic. Concentrate on your application
and let LMS deal with the gory database stuff.

--

Michael

pkfox
2015-11-12, 14:57
pkfox- I removed all of my mp3 files from my library and then did a Look for new and changed media scan. I then ran your app. Artist count was still different so I am thinking it's something other than tags in mp3 files. Also did a search for ALBUM_ARTIST and COMPOSER tags in my FLAC library-none there. I did remove a bunch of extraneous/extended tags from my mp3 files so that was a good thing.

I guess I'm not all that concerned about the small discrepancy in counts. I think your app is great and thanks for sharing.

Thank you

pkfox
2015-11-12, 15:05
No, that's definitely not the best way. It's a waste of time, because
you'd have to re-implement LMS' logic. Concentrate on your application
and let LMS deal with the gory database stuff.


I just wanted my document to mirror the *actual* content of anyone's collection - if I just use LMS CLI calls for counts they would not be an accurate reflection of the document

pkfox
2015-11-12, 15:16
pkfox- I removed all of my mp3 files from my library and then did a Look for new and changed media scan. I then ran your app. Artist count was still different so I am thinking it's something other than tags in mp3 files. Also did a search for ALBUM_ARTIST and COMPOSER tags in my FLAC library-none there. I did remove a bunch of extraneous/extended tags from my mp3 files so that was a good thing.

I guess I'm not all that concerned about the small discrepancy in counts. I think your app is great and thanks for sharing.

Hi , I think its always better to clear the library and rescan - removes a little bit of doubt 😁

DJanGo
2015-11-12, 15:26
I just wanted my document to mirror the *actual* content of anyone's collection - if I just use LMS CLI calls for counts they would not be an accurate reflection of the document


sorry but i didnt get the point?
You using the library.db of a App called Logitechmediaserver and dont want to use some cli calls from that App cause they would not be an accurate reflection of the document even if they use the same database thats been made from that inaccurate Application??



Hi there, as I said in another post I noticed that mp3 files have extra tag info that might affect how they are classified.

what extra tag?

mherger
2015-11-12, 21:59
> I just wanted my document to mirror the *actual* content of anyone's
> collection - if I just use LMS CLI calls for counts they would not be an
> accurate reflection of the document

That's not true. Because there's no such thing as the "actual" content,
other than the number of files on your disc. But then don't rely on LMS'
database, because it does apply rules configured by the user. There's no
such thing as THE number of artists unless you specify what you consider
an artist. etc.

If you want the real, one and only truth, you'll have to explain your
rules of truth, not try to understand LMS' :-)

--

Michael

pkfox
2015-11-12, 23:24
If you want the real, one and only truth, you'll have to explain your
rules of truth, not try to understand LMS' :-)
Michael

Good point, I don't think I realised the level of customisation ( because I leave everything set at default ) available in LMS which obviously affects counts et al. Thanks for your comments.

steve-g
2015-11-13, 06:27
The idea of using the LMS cli interface is fine for those who run LMS on a PC or similar - for those of us that run it on a 'small' computer such as a pi or Wandboard this is not very practical.

The approach used by pkfox of directly querying the db seems the right method in these cases as it's easy to copy over the db to generate the album / track list rather than trying to get the o/p from lms over to the PC to do the same thing. (Unless I'm missing something)

I take the number of artists listed by LMS with a farly large pinch of salt as it includes all types of tag data that I would not normally consider as an artist for the type of music it refers to (such as composer for non-classical music) so can't see the attraction of trying to replicate it!

mherger
2015-11-13, 06:33
> The idea of using the LMS cli interface is fine for those who run LMS on
> a PC or similar - for those of us that run it on a 'small' computer such
> as a pi or Wandboard this is not very practical.

Why not? It's what the devices do, it's what iPeng and others do. It's
one of the main tasks of LMS to respond to queries about its music
library. And you're not doing this all day long, do you? You grab the
data, print it, done. And in a few days or weeks you'll repeat the
procedure. I don't see the problem.

--

Michael

steve-g
2015-11-13, 06:39
> The idea of using the LMS cli interface is fine for those who run LMS on
> a PC or similar - for those of us that run it on a 'small' computer such
> as a pi or Wandboard this is not very practical.

Why not? It's what the devices do, it's what iPeng and others do. It's
one of the main tasks of LMS to respond to queries about its music
library. And you're not doing this all day long, do you? You grab the
data, print it, done. And in a few days or weeks you'll repeat the
procedure. I don't see the problem.

--

Michael

Point taken - It's probably my lack of understanding of how the interface works / transfers data for not seeing this.

Fahzz
2015-11-15, 07:47
I installed this, and when I run it, I get an accurate artist/ album /track count, but no .pdf document is produced. Any suggestions?

dasmueller
2015-11-15, 10:52
Where do you see the counts ? Do you have a program installed for PDF's ? I assume you have checked where you told the app to save the program ?

I know, stupid questions but details help.

Fahzz
2015-11-15, 12:12
Where do you see the counts ?

In the app interface.


Do you have a program installed for PDF's ?

Adobe Acrobat.


I assume you have checked where you told the app to save the program ?

Yes.

I know, stupid questions but details help.

no such thing as a stupid question.

I'm on Windows 10, and I'm trying to do this on a laptop, not the same computer as the server. Copied local copy of library.db to the laptop

pkfox
2015-11-15, 23:32
I installed this, and when I run it, I get an accurate artist/ album /track count, but no .pdf document is produced. Any suggestions?

Weird, have you checked the directory you selected to save in ?

Fahzz
2015-11-23, 18:27
Got it to work. I loaded it on to the server box, and all is well. Nice work on this.

pkfox
2015-11-24, 03:24
Got it to work. I loaded it on to the server box, and all is well. Nice work on this.

Strange - what did you load to the server ? the library or the software or both ?

dasmueller
2015-11-24, 13:10
Now, if there was a way to run this with it only showing what was added after a certain date that might be cool as well. Sort of a catalog update function.

pkfox
2015-11-24, 13:54
Now, if there was a way to run this with it only showing what was added after a certain date that might be cool as well. Sort of a catalog update function.

Hi there, do you mean produce a document showing music that was added on or after a certain date ?

dasmueller
2015-11-24, 14:09
exactly !

DJanGo
2015-11-24, 15:32
exactly !

And what is the Reason for this?

I may not remember what i bought two years ago - but i know what i bought 2Months ago.

And what exact do you mean?
Timestamp from the File or adding time to the lib?
You may know that these timestamps didnt tell the truth under all circumstances!


exactly !

Fahzz
2015-11-24, 16:56
Strange - what did you load to the server ? the library or the software or both ?

I installed the app on the server machine, copied the library to the desktop on the same machine, ran the app, and it gave me the pdf, which I then copied to my laptop.

Not sure why it worked, and didn't before. Let me know if you want more information. Keep in mind I only know enough about technology to be dangerous.

BTW: Your signature line conversation ends, if memory serves "They'll see them soon enough"? Yes?

dasmueller
2015-11-24, 19:19
And what is the Reason for this?

I may not remember what i bought two years ago - but i know what i bought 2Months ago.

And what exact do you mean?
Timestamp from the File or adding time to the lib?
You may know that these timestamps didnt tell the truth under all circumstances!

The reason is to be able to produce a file which shows updates to the library. What the process/technical way to do it I do not know as I am not proficient in how the whole system works from a programming perspective. Just thought it might be nice but not that big a deal. I think I understand your comment about timestamps which as I understand it would then segregate from when files were modified, not when added.

pkfox
2015-11-25, 00:08
I installed the app on the server machine, copied the library to the desktop on the same machine, ran the app, and it gave me the pdf, which I then copied to my laptop.

Not sure why it worked, and didn't before. Let me know if you want more information. Keep in mind I only know enough about technology to be dangerous.

BTW: Your signature line conversation ends, if memory serves "They'll see them soon enough"? Yes?

It's from a different part of the book ( Fear and Loathing ) but yes it's linked, as to why my app works on your server but not on your workstation - what OS do they run ? Also please mention the bitness 32/64. Thanks for the feedback.

DJanGo
2015-11-25, 06:29
Just thought it might be nice but not that big a deal.

Hmm its the same story like the "my artist count is wrong"...
And if you want something like a new feature - you should know what you want.

dasmueller
2015-11-25, 07:29
pkfox knew what I was speaking about. In no place did I mention timestamp until you brought it up.

d6jg
2015-11-25, 09:39
pkfox knew what I was speaking about. In no place did I mention timestamp until you brought it up.

What Jan means is that the only way of determining when something was added would be by way of the file timestamp. As this would not always be the date you actually added the file to the LMS library the "all files added since ddmmyy" routine would not always be accurate. If for example you today correct a tag in a file that you might have added in 2010 the timestamp is going to be today. Indeed LMS itself will bring the album to the top of the New Music menu for exactly this reason.

Fahzz
2015-11-25, 11:37
...as to why my app works on your server but not on your workstation - what OS do they run ? Also please mention the bitness 32/64. Thanks for the feedback.

server: windows 7 32 bit, laptop: windows 10 64 bit

dasmueller
2015-11-25, 12:32
From looking at folders in Windows Explorer they all have a date created associated w them. That does not change when one modifies the folder name. Although not perfect it is a better source of info for dating purposes than date modified. Whether there is a way to get the app to use that info or not and the effort entailed to do so is another story.

pkfox
2015-11-26, 05:01
Now, if there was a way to run this with it only showing what was added after a certain date that might be cool as well. Sort of a catalog update function.

Hi there, I've had a look at the database and the only field that I can see that might be useful for this is *added_time* which is in the tracks table but I think this would only be helpful if you ran a rescan *new or changed media files* as clearing the library would lose all the history. Let me know if you want to try this.

dasmueller
2015-11-27, 07:43
I'd be happy to try it if I know what I might need to do.

And thanks.

pkfox
2015-11-27, 08:58
I'd be happy to try it if I know what I might need to do.

And thanks.

All it will do is retrieve music added on or after the date you choose - as I said earlier if you ever clear your library when you scan it's not of any real use, I've tried it and honestly can't see the point of it.

dasmueller
2015-11-27, 10:06
Playing around in Mp3Tag I found one can insert a column that gives the date created.

%_file_create_date%

it gives the date created not date modified. If there were a way to then search the database by a date range that used that tag field that would be pretty nice

DJanGo
2015-11-27, 11:23
If there were a way to then search the database by a date range that used that tag field that would be pretty nice

did you check the point?
adding a idv3tag to a file to get the creation time of this file? 19339

did you ever check'd the library.db from lms?
lms DOESNT store ALL tags in the DB...

dasmueller
2015-11-27, 14:54
did you check the point?
adding a idv3tag to a file to get the creation time of this file? 19339

did you ever check'd the library.db from lms?
lms DOESNT store ALL tags in the DB...

I'm sorry I brought it up and frustrated you so much but if people never asked for improvements little would get improved or invented.

Please consider my request/question closed.

DJanGo
2015-11-28, 02:35
@ dasmueller:
its frustrating to see someone that has an idea realized that idea and decides to share his idea even when that means he has a lot more to to than just use his thing for his own purposes and some other jump on the train and ask for impossible or senseless things...

@pkfox:
I realized that there is some interest for an "offline collection Dokumentation" and i decided
to re-animate my own way to solve this (cause in my private hours i am a Linux User i cant just use your Tool - and cause of my ego i wont *lol*)

Even without knowing exactly what your doing - i may have a tip for you and the guys that use your Tool.

"My" way to get a offline Dokumentation of my collection just needs two tables out of the library.db.

contributors
albums


I dont know which tables you use but instead of copying the whole library.db (if someone has to cause using a headless dedicated lms Server)
Should be simple as eg:
$lms_offline_db is my var for the filename under Windows it must be something like %lms_offline_db%
rm is the same as del under *blows -
dont "dump" the same tables into your offline_db twice - deleting the offline_db before the dump is the simplest way to solve this



rm $lms_offline_db
sqlite3 /var/lib/squeezeboxserver/cache/library.db ".dump albums"|sqlite3 $lms_offline_db
sqlite3 /var/lib/squeezeboxserver/cache/library.db ".dump contributors"|sqlite3 $lms_offline_db


the mimic from that is:
sqlite3 source_db ".dump contributors"|sqlite3 destination_db

After that you end up with a smaller database file if you need to copy that from your dedicated lms Server.
In my case the shortend library is just 2.8 MB instead of 118 MB.

Feel free to adapt this idea and add the needed tables somewhere her to others that might uses that.

pkfox
2015-11-28, 03:19
@ dasmueller:
its frustrating to see someone that has an idea realized that idea and decides to share his idea even when that means he has a lot more to to than just use his thing for his own purposes and some other jump on the train and ask for impossible or senseless things...

@pkfox:
I realized that there is some interest for an "offline collection Dokumentation" and i decided
to re-animate my own way to solve this (cause in my private hours i am a Linux User i cant just use your Tool - and cause of my ego i wont *lol*)

Even without knowing exactly what your doing - i may have a tip for you and the guys that use your Tool.

"My" way to get a offline Dokumentation of my collection just needs two tables out of the library.db.

contributors
albums


I dont know which tables you use but instead of copying the whole library.db (if someone has to cause using a headless dedicated lms Server)
Should be simple as eg:
$lms_offline_db is my var for the filename under Windows it must be something like %lms_offline_db%
rm is the same as del under *blows -
dont "dump" the same tables into your offline_db twice - deleting the offline_db before the dump is the simplest way to solve this



rm $lms_offline_db
sqlite3 /var/lib/squeezeboxserver/cache/library.db ".dump albums"|sqlite3 $lms_offline_db
sqlite3 /var/lib/squeezeboxserver/cache/library.db ".dump contributors"|sqlite3 $lms_offline_db


the mimic from that is:
sqlite3 source_db ".dump contributors"|sqlite3 destination_db

After that you end up with a smaller database file if you need to copy that from your dedicated lms Server.
In my case the shortend library is just 2.8 MB instead of 118 MB.

Feel free to adapt this idea and add the needed tables somewhere her to others that might uses that.

Don't see the point all your doing is saving a bit of space which you can achieve by deleting the copy when you're done

DJanGo
2015-11-28, 03:34
Don't see the point all your doing is saving a bit of space which you can achieve by deleting the copy when you're done

No problem :o

i am just a poor guy that even shortens all unneeded languages from the strings.txt -

That saves a bit space and added such a huge amount of response time you cant really count :rolleyes:
And i am quite as old as your avatar loks like- when i was young 640 k should be enough for everybody - (Yes i know its NOT Billy who say/wrote this)
btw: did you recon the car from my avatar? Should be some in surrey as well


But the truth behind that is just simple:
If you stop the logitechmediaserver (what reason ever you have to) the filestamp from the library.db changes - so its tricky to find out "is there is a reason to update the documentation?"

I'd love to let my pcs do stuff for me on their own (sheduled tasks / cronjobs) - cause i am lazy like hell

pkfox
2015-11-28, 03:50
No problem :o

i am just a poor guy that even shortens all unneeded languages from the strings.txt -

That saves a bit space and added such a huge amount of response time you cant really count :rolleyes:
And i am quite as old as your avatar loks like- when i was young 640 k should be enough for everybody - (Yes i know its NOT Billy who say/wrote this)
btw: did you recon the car from my avatar? Should be some in surrey as well


But the truth behind that is just simple:
If you stop the logitechmediaserver (what reason ever you have to) the filestamp from the library.db changes - so its tricky to find out "is there is a reason to update the documentation?"

I'd love to let my pcs do stuff for me on their own (sheduled tasks / cronjobs) - cause i am lazy like hell

Hi there, yes I come from the *640k is enough for anyone* era but times change.

steve-g
2015-11-28, 03:56
But the truth behind that is just simple:
If you stop the logitechmediaserver (what reason ever you have to) the filestamp from the library.db changes - so its tricky to find out "is there is a reason to update the documentation?"

I'd love to let my pcs do stuff for me on their own (sheduled tasks / cronjobs) - cause i am lazy like hell

Surely you know if you've added new music so know when to do a documentation update.

pkfox
2015-11-28, 03:59
Surely you know if you've added new music so know when to do a documentation update.

Precisely Steve and it takes a matter of minutes to copy the database and run the documenter - this is a classic case of *if it ain't broke fix it till it is*

Julf
2015-11-28, 05:19
btw: did you recon the car from my avatar? Should be some in surrey as well



A Mini Moke?

DJanGo
2015-11-28, 05:20
Precisely Steve and it takes a matter of minutes to copy the database and run the documenter - this is a classic case of *if it ain't broke fix it till it is*

Forget about that stripdown

:eek: you see me really impressed :o

I should investigate that - i (better the *tux wrapper i made) need ~20 minutes for this task (refreh documentation) :confused:

Anyway have a nice day:o

@julf Yapp an early MKi

Julf
2015-11-28, 05:34
19344
@julf Yapp an early MKi

Excellent! Great fun!

pkfox
2015-11-28, 05:52
Forget about that stripdown

:eek: you see me really impressed :o

I should investigate that - i (better the *tux wrapper i made) need ~20 minutes for this task (refreh documentation) :confused:

Anyway have a nice day:o

@julf Yapp an early MKi

And you :-)