As Michael explained, using the advanced search is the easiest option.
But that assumes you have some criteria for the tracks that is supported
there. Perhaps these tracks have a separate genre. If not, read on.

I think this issue has come up a number of times. If all of your books,
podcasts, etc. are in a specific high-level folder separate from your
music then you can create a custom library view manually. I don't know
if someone came up with a better solution but here is what I did.

If you are comfortable with SQL and editing a pref file then this can
work for you. Make a backup first!! This is especially important with
library views as I will explain later.


1) First you need to find the criteria that you will use to identify all
of the tracks. For that you will use the high level folder structure. So
if you store all of these tracks under M:/Music Library/My Books/ then
you just have to create a view to only include tracks under that folder.
Anything starting with that as its source location will be in the view.
There is a little twist to this. The library is stored as a URL and is
probably formatted a bit differently depending on your operating
system.

In windows
M:/Music Library/My Books
is stored in LMS as
file:///M:/Music%20Library/My%20Books

Before you panic, there is an easy way to get the text exactly as you
need it. Either edit it replacing spaces with %20 (but there are other
special characters that need their % equivalent) or you can install the
SQLite Manager in Firefox which can then be used to browse the LMS
database to get the exact url as LMS stores it.

If you choose to browse the database with the SQLite Manager, you will
be browsing the library.db
(on windows C:\ProgramData\Squeezebox\Cache\library.db)

Run the SQL
SELECT * FROM tracks
or something more refined like this (titlesort values are all uppercase
so choose a short book title)
SELECT * FROM tracks where titlesort = 'A TALE OF TWO CITIES'

The second column is "url". Right-click and copy the cell. Save it in a
text file for use below.
It will look something like this:
file:///M:/Music%20Library/My%20Books/Dickens/A Tale of 2 cities.mp3

Remember that the titlesort is taken from the tag, not the filename. I
tried to emphasize that by naming them differently in my example. You
only need the first part of the string for the high-level folder that
contains all your books.

file:///M:/Music%20Library/My%20Books
----+----1----+----2----+----3----+----4----+----5

Use the ruler to count the characters. In this example the length is 37.
Note that while %20 represents a single space, it counts as 3 in the
length. You'll see why later.

That's the hard part. The rest is easy.

2) Go to your prefs folder (on windows it is
C:\ProgramData\Squeezebox\prefs) where you will find the file
virtualLibraries.prefs.
Make a copy to save it. I recommend naming the saved copies with
versions (e.g. virtualLibraries.prefs.V1).

3) First, create a spaceholder for a new library view. Use advanced
search to search for anything (artist, genre, etc.) and then save the
search as a library view. This is just to create a library view that can
then be edited to do what you really want. Library views in the pref
file have some ID's assigned to them which are stored elsewhere in the
database so you need to have all the pieces connected correctly.

4) Now that you have a library view, stop LMS. It will have to be
stopped while you switch the prefs files.

5) Go back to your prefs folder and make another copy of the file
virtualLibraries.prefs with a new version number (e.g.
virtualLibraries.prefs.V2). This one will be edited with your custom
query.

5) Edit the new V2 copy with your favorite text editor (I like uedit32
but windows Notepad does fine -- don't use anything that adds formatting
like Word).

6) In there you will find an entry for the library view you just
created. Change that one too look like this. Leave the ID's as they are
in your prefs file (don't try to take shortcuts by copying/modifying the
ID's). Do not use my ID's. You only need to copy from the "name:" down
and then set the name and the 2 parameters.

The first parameter is the length of the partial folder name and the
second is the partial folder name. The sql does not need to change. The
params are substituted in the SQL where the ? are (WHERE
SUBSTR(me.url,1,?) = ?).

vlid_bb7e569d:
id: advSrch_1443647243
name: Book Library
params:
- 37
- file:///M:/Music%20Library/My%20Books
sql: INSERT OR IGNORE INTO library_track (library, track) SELECT '%s',
id FROM (SELECT
me.id FROM tracks me WHERE SUBSTR(me.url,1,?) = ? AND me.audio = 1
GROUP BY me.id)

7) save this backup version (V2 if you used my naming convention)
Delete the live prefs (which you should have already backed up as V1)
and make a copy of V2 renaming it as the live copy
virtualLibraries.prefs. Don't just rename V2 -- keep it as a backup.

8) start up LMS and you should be in business.

A note about backups and why they are extra important with virtual
libraries. When you select a library to use, there is a Delete option
just below the Use option. If you press delete, there is no
confirmation. You will wipe out the custom query you just created and
there is no going back -- unless you made a backup. If you need to swap
in a backup version, always do that when LMS is shut down. If you don't
shut down LMS, it may/will write out the cached version when it shuts
down and overwrite your new/restored queries.

Also note, that most apps do not support 7.9 features which includes the
library views. At least I haven't seen any that mention supporting this
and the ones I have tried do not. That is why I use the web UI on my
tablet (yes, you read that right). The Logitech app (if it still works
for you) lists library views, but if you try to use it, it doesn't take
effect. Use the web UI to test this.

Michael, if you are reading this, I would greatly appreciate it if you
could insert a few blank lines between the Use and Delete links. Using
the web interface on a tablet it is easy to fat-finger the delete. I
have become accustomed to enlarging everything before pressing. I don't
ask for a confirmation prompt since I understand that would be much more
work in the web UI. But a few blank lines about the width of my index
finger would be great ;-)


------------------------------------------------------------------------
dbm204's Profile: http://forums.slimdevices.com/member.php?userid=65916
View this thread: http://forums.slimdevices.com/showthread.php?t=106488

_______________________________________________
Squeezecenter mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/squeezecenter

Reply via email to