AudioWeb by MollieSoft - Frequently Asked Questions
	- Updated February 16, 2021 for Version 1.2.8.0.

What is AudioWeb?
	- AudioWeb creates a personal website on your computer allowing you to play your mp3 audio files through any web browser!
	- AudioWeb excels at playing sequential audio files, such as in an audio book or podcast.  (Of course, AudioWeb can also play your music files.)
	- You can easily browse, play and bookmark audio files using any modern web browser.  AudioWeb will work on most browsers on any iPad, iPhone, Android phone or tablet, or on a Windows or Mac desktop.  AudioWeb looks great on an 8" iPhone!
	- There is no complicated Windows IIS (Internet Information Services) setup involved!  (AudioWeb does not even use IIS.)  All the details of creating and running a website are handled transparently inside AudioWeb for you.  All you have to do is run AudioWeb on your Windows computer, create a user, then log in through any web browser.  It just works!
	- Create any number of separate users; each user has his own bookmarks and settings.
	- AudioWeb never loses your place in a book, even if you log out.  When you log in again (even from a browser on another device), it will resume play exactly where you left off.
	- Create book details (images, notes, url) for any book in the AudioWeb admin program, then show them on the web page.  Search book details in admin using a full-featured boolean query language.
	- You can use AudioWeb within your local router only, or you can open a router port to play your audio from anywhere on the internet.
	- AudioWeb is a natural complement to PodSilo by MollieSoft, which collects and maintains podcasts for you.  Use AudioWeb to play your podcasts through any web browser.

How do I install AudioWeb?
	- Go to www.molliesoft.com/AudioWeb to download the install package.  You will need administrator privileges on your machine to perform the install and to run AudioWeb.

What operating systems will run AudioWeb?
	- AudioWeb runs on Windows 8.1 or Windows 10.
	- AudioWeb requires the Microsoft .NET Framework version 4.6.1 to run.  This should normally already be present; if the AudioWeb installation process detects it is not installed, go to
	https://www.microsoft.com/en-us/download/details.aspx?id=49981
and install it.

How do I run AudioWeb?
	- The install process will place a shortcut to AudioWeb in your Startup folder, so it will start when you log on to your computer.
	- AudioWeb should always be running so that the website will be accessible; just minimize it to the system tray instead of closing AudioWeb.
	- The install process also places a separate shortcut to AudioWeb on your desktop, so that you can start AudioWeb manually.
	- The first thing you need to do once AudioWeb is running is add one or more users,  then click the website link (e.g. http://192.168.1.9:3649) in the main window to login through a browser.

I clicked the "Minimize" button (on the upper right of AudioWeb); where did it go?  
	- When minimized, the AudioWeb icon will appear in the System Tray (normally at the bottom right of the desktop).  If you do not see it there, click the small up-arrow in the tray marked "Show hidden icons".  Just double-click the AudioWeb tray icon to show AudioWeb in a normal window again.  Note that Windows lets you customize the System Tray to make the AudioWeb icon stay in the visible portion of the tray if desired.  You can also use the AudioWeb desktop shortcut to make AudioWeb appear on the screen again.

What will happen to AudioWeb when the trial period expires?
	- After the 60-day trial period, AudioWeb will start but only allow you to purchase a license if desired.  Without a license, AudioWeb will no longer run as before.  A license entitles you to run the AudioWeb server permanently on a single computer.

If I upgrade to the next version of AudioWeb, will my permanent license still be valid?
	- Yes.  A permanent license for AudioWeb is a license forever; you can safely upgrade to any new version and your license will still be valid.
	- Even if you only have a trial license, you can upgrade AudioWeb to a new version without affecting the expiration date of your license.

How can I learn more about how AudioWeb works?
	- This FAQ is the main source of information about AudioWeb.
	- Please email support@molliesoft.com with any questions that the documentation does not address.

AudioWeb Administration

What does the AudioWeb (administration) program on my desktop computer do?
	- Runs the AudioWeb website on your computer when AudioWeb starts, and stops the website when AudioWeb ends.
	- Allows you to select the numeric port for the website.  The port must not conflict with any other reserved port on your computer.  AudioWeb will automatically handle the details of selecting a port, as described below.
	- Creates, edits, and removes user accounts.  A login for the AudioWeb website will only be accepted if it corresponds with a current user account and password.
	- Shows the history log.  See the History Log section under "Miscellaneous" for more details.

How do I access the AudioWeb website?
	- You can access websites on your computer using its IP address.  You will probably want to tell your router to use a fixed (static) IP address for the computer running AudioWeb, so it will remain constant if you restart your computer or router.
	- However, a website is also specified through its TCP port number.  To avoid conflict with other applications running on your computer, you must select a port for AudioWeb that is not reserved for any other application.
	- The internal address of the website is shown as a link on the AudioWeb main window, e.g. "http://192/168.1.9:3649".  Just click on this link to launch a login page for AudioWeb.
	- If your computer is attached to a router, the internal website address is shown on the AudioWeb main window.  If your computer is attached directly to the internet, the external website address will be shown instead.
	- You can freely access the AudioWeb website from any computer attached to your router using this internal address.  However, if you wish to access the website from outside your router, some additional work is required.  You will have to login to your router, and forward the selected AudioWeb port to the computer on which AudioWeb is running.  Most routers have a "Port Forwarding" table; add an entry to it indicating the external port, and the computer and port you want this to be forwarded to.  Once this is done, you can access AudioWeb from outside your router as e.g. "http://176.54.104.77:3649", using the external web address of your router.  (You can easily determine your external web address using sites such as https://whatismyipaddress.com .)
	- Generally, your routers external IP address is fairly stable although in theory your internet provider could change it at any time.  In practice, it usually remains stable for periods of years.

How does AudioWeb select a port for the website?
	- AudioWeb will transparently handle all the details of reserving a port.  Note that administrator privileges on your computer are required in order to reserve a port; AudioWeb will prompt you to authorize admin privileges when required.
	- Many TCP ports are "well-known", i.e. used by some application.  To avoid conflict, AudioWeb will select a port that is not a well-known port, and is not a port currently reserved on your computer.
	- You can a select a different port for the website using the Change Port dialog.  This will show you the reserved ports on your computer as well as the ports recommended by AudioWeb to avoid conflicts.

How do I add a user?
	- AudioWeb users can only be created or removed using the AudioWeb admin program running on your desktop computer.  This simplifies the website and is more secure than allowing the creation of user accounts via the website.
	- The admin program also controls each user's password and base audio folder.

What audio does a user have access to?
	- For simplicity, each user has a base audio folder.  All audio files accessible to the user must reside in this folder, or any subfolder.  For example, if you select "C:\users\Bob\MyMusic" as the base audio folder for user "Bob", Bob will be able to see and play files that reside somewhere under this folder.  He will NOT have access to audio under "C:\BobsStuff\Music".
	- If you have more than one base audio folder, just set up an additional user account with this audio folder.  For example, you could set up user "Bob2" with base audio folder "C:\BobsStuff\Music".  Now just login as Bob2 to access these audio files.
	- This design vastly simplifies how the website works:  all bookmarks are deemed to reside under a fixed base audio folder; all searches are only within the base audio folder; no controls are necessary allowing the user to switch base audio folders, etc.

What information does the admin program track for each user?
	- AudioWeb shows the last login time and last request time for each user in the users list.
	- AudioWeb creates a separate history log entry whenever a user logs in or out.
	- By design, the AudioWeb admin program does show any more detailed information about a user, e.g. currently playing track or bookmarks, since this is available on the web page when the user is logged in.

How does AudioWeb know what audio files constitute a "book"?
	- Since the intended purpose of AudioWeb is to play sequential audio (e.g. books or podcasts), it is crucial to identify which folders/files constitute a book.  For example, consider the way bookmarks work:  when you bookmark a playing track, it creates or updates the unique bookmark for the book currently being played.  To do this, AudioWeb must know which "book" the track belongs to.
	- When searching for books, AudioWeb must be able to identify "books".
	- AudioWeb stops after playing the last file in a book.
	- For all the above reasons, we must be able to identify the files making up a book.
	- Here are the rules AudioWeb uses to identify book boundaries:
•	A book folder must have a non-numeric name.  E.g. "01" is not a valid top-level book folder, but "AliceInWonderland" is valid.  
•	However, a folder with 4 or more digits is also considered to be a book folder, since some books are simply named for a year.
•	A book can include subfolders with numeric names, if there are any.
•	There can be any number of numeric subfolders under a book, to any level of subfolders.
•	The file names within a folder are unimportant, except that of course the files will be played in ascending name order.
•	An example: let's say we have the following folders and files:
                      MyAudio
                          LewisCarroll
                              AliceInWonderland
                               01
                                   Intro.mp3
                                   01.mp3
                                   02.mp3
                               02
                                   01.mp3
                                   02.mp3
                               03
                                   01.mp3
                                   02.mp3
		In this case, the "book" is "MyAudio\LewisCarroll\AliceInWonderland".  A playing track might be "01\02.mp3 - 1:58", indicating folder 01 containing file 02.mp3, at offset 1:58 (minutes:seconds) from the start of the file.  Playback will automatically continue from folder to folder until the end of the file 03/02.mp3.
	- The bottom line: for a better experience with AudioWeb, try to adjust your book folders and files so they fit into this numeric scheme.  If your folders and files do not fit this pattern, AudioWeb may think that each subfolder is a "book".

How secure is AudioWeb?
	- Names and passwords for logins are transmitted securely and cannot be intercepted.
	- However, the actual bytes for audio file transfers are not transmitted securely over the connection.  Also, Explorer and Search requests are returned without encryption.
	- If the audio files you wish to play using AudioWeb are sensitive, do NOT open a router port; then only machines within your router will be able to detect AudioWeb packets.

Can I temporarily turn off access for a user?
	- Just click the "Enabled" checkbox for that user in the Admin users list.  When disabled, a user cannot login to AudioWeb, but his bookmarks are unaffected; when re-enabled, the user will have the same bookmarks.

How can I tell if the website is running?
	- Admin shows a green check mark next to the website (at the top right of the Admin window) to indicate that the website is running, or a red "X" if it is not running.  If not running, you can attempt to restart it using the "Restart" button next to the running indicator.
	- The history log provides time-stamped entries showing when the website was started, or stopped running.

AudioWeb Web Page

How do I select an audio file/folder to play?

	- The web page provides three ways (panels) to select audio for playback: Bookmarks, Explorer, and Search.

	- The Bookmarks panel shows your current bookmarks.  You can bookmark the currently playing file, play any bookmark, remove any bookmark, and reposition a bookmark in the list.  Click in the text area of a bookmark to select it; once selected, use the buttons above the bookmark list to perform an action on the selected bookmark:
•	Use  to play the currently selected bookmark in the list.  You can also just click on  to the left of the selected bookmark to play it immediately.
•	Use  to bookmark the track currently being played.  This will add a bookmark for the current track at the top of the bookmark list, or just replace any existing bookmark for this book.
•	Use  to remove the selected bookmark from the list.
•	Use the arrows  to move the selected bookmark up one position in the list, down one position in the list, to the top of the list, or to the bottom of the list respectively.
•	If you would like AudioWeb to always maintain a bookmark for the track currently being played, just check the box "Bookmark what's playing" below the audio playback controls.

	- The Explorer panel allows you to navigate your audio files and folders, and to select a file or folder for playback.  The list shows you the files or subfolders in the current folder.  There are various controls to help you navigate the list:
•	Use   to go to the topmost audio folder.
•	Use   to go up one folder.
•	Use  to play the current folder.
•	Use  to navigate to the currently playing file.
•	Check the Follow box to make Explorer always keep the currently playing file visible when the next track (file) is played.  The file currently being played will always have a blue highlight in Explorer.
•	Click on a sub-folder name in the list to navigate down to a sub-folder.
•	Click anywhere in the row to play the file.
•	Type in the "Search file or folder names" text area to restrict the display to those files or folders that contain the text you have typed.

	- The Search panel allows you to search for books or files using parts of the folder or file name.   For example, type "alice wonderland" to search for book folders containing the words "alice" AND "wonderland".  If Match case is checked, the search will be case-sensitive; if Match any word is checked, the results will include all folders whose name contains either "alice" OR "wonderland".  If Search books is selected, the search will find folders with these terms; if Search files is selected, the search will find mp3 files whose file name contains these terms.
	- Once you have specified your search, use  to perform the search, or just press the Enter key.  After the search is completed, a list of matching books or files will be displayed.  Click on any entry in the list to play it.

How do I control audio file playback?

	- The playback controls at the top of the page are shown below:

	- The large Play/Pause button at the left starts or stops playback of the currently selected track.  It changes from  when paused to  when playing.
	- The Skip Track buttons  and  skip the playback to the previous track and next track in the book, respectively.  Of course, during playback, the next track will automatically be queued up and played when you get to the end of a track.  When you play the last track of a book, playback will cease.
	- The Skip buttons  are disabled unless you are playing a track, in which case they appear as  indicating they are active (enabled).  While playing a track, you can skip back 20 seconds, or forward 20 seconds, using the circular arrows.  The middle "20" button will cycle between 10/20/30/60 seconds when pressed; this indicates the time that will be skipped by the circular arrows.
	- Of course, you can also use the native audio control at the top of the web page to slide to a new position in the file, play or pause, or change the volume.  The appearance of this native audio control will change depending on the platform the browser is running on, and which browser you are using.  Here is what it looks like in Firefox: 
	
	- Use the checkbox "Bookmark what's playing" to automatically create (or update) a bookmark for the currently playing track.
	- The book (folder) currently being played is shown beneath the buttons, in this case "ZBS\JackFlanders\FourthTowerOfInverness".
	- The track and position within the book is shown beneath the book, in this case "01\02.mp3 - 1:58" (1:58 indicates 1 minute 58 seconds into playback from the beginning of the track).
	- Even if you do not create a bookmark for the currently playing track, AudioWeb will remember what file you are playing, and your position in the file.  However, this information is lost if you initiate playback of a different book or file.  To remember this information permanently, you must create an explicit bookmark using the controls in the "Bookmarks" panel.  You can do this manually using  on the Bookmarks panel at any time, or use "Bookmark what's playing" to maintain a permanent bookmark for the currently playing track at all times.
	- If you use AudioWeb on an iPad or iPhone, you are subject to the audio rules Apple has imposed on web browsers:
•	The first time you load the web page, you must explicitly click  to initiate playback.
•	If you switch to an app other than the web browser, the audio will only play until the current segment of stored audio is exhausted, since web requests will not be made while the web browser is not the foreground app.
•	If you close the cover of your iPad, or lock your iPhone, the audio will not continue playing.

How do bookmarks work?
	- There is always an implicit bookmark for the currently playing track.  This is used to always resume playback from the point at which you stopped.  This "implicit" bookmark is NOT shown in the list of explicit bookmarks.
	- You can create an explicit bookmark using  on the bookmarks panel.  This will add an explicit bookmark for the currently playing book/track/position in the list of bookmarks shown in the bookmarks panel; if there is already a bookmark for this book, it will be replaced with the new bookmark.  That is, at most one explicit bookmark is maintained for an individual book at any time.
	- A user can have any number of explicit bookmarks.

Oops!  I was playing a file and accidentally clicked a button on the web page!  How can I keep that from happening?
	- Use the lock button  at the bottom-right of the page.  This shows the Lock message, and prevents you from accidentally clicking on a control of the page.  Just click OK to unlock the page.

What is the Web Search Cache?
	- To speed up web searches (using the Search tab of the web page), AudioWeb maintains a cached list of the available books and files in the base audio folder for each user.
	- This cache is constructed for each user when AudioWeb starts.  The history log indicates when web search cache updates start and end.
	- You can optionally rebuild the web search cache using the button "Update Web Search Cache" in the Settings dialog.  This should only be necessary if you have added a book and the web page Search cannot find it.  It can take several minutes to rebuild the search cache for large audio collections.
	- When a user is added, the search cache for his base audio folder will be automatically constructed.
	- If a user is edited, and his base audio folder is changed, the search cache will be automatically reconstructed.
	- Search may be slow at program startup before the search cache is constructed.  After the search cache is constructed, searches will be almost instantaneous.

Book Details

When playing a track, can I show more information than just the book name and track number?
	-  Yes.  In the Admin window, turn on "Book details" for a user by clicking the checkbox in the users list.  Now audio file metadata (such as duration, bit rate, title, author, comments) contained in the playing track file will be displayed on the right side of the web page.
	- You can also display your own book cover images and book notes on the right side of the web page.  You will have to create these images and notes manually for each book, either directly in the base audio folder of the user, or in an alternate "book details" base folder.  If you provide book notes, they will be combined with any audio file metadata in the web page display.  You can also provide an external URL to show more information about the book.
	- See the section below on “Book Details View” for a convenient way to create these images/notes/urls.
	- Book details will be displayed whenever you play a book or select a book in Explorer or Search.
	- You can turn book details on or off for a user at any time using the AudioWeb Admin window.  Once the user logs in again, the web page will show or hide the book details appropriately.
	- The book details are shown on the web page if there is enough space left over on the right after displaying the audio controls and Bookmarks/Explorer/Search tabs.
	- Note: when showing book details, the bookmarks/explorer/search tables occupy a restricted horizontal space.  The tables can be scrolled horizontally:  on an iPad or iPhone, just swipe left/right; in a Windows browser, click the mouse scroll wheel and then move the mouse to the left/right of the scroll lock symbol, or just use the horizontal scroll bar at the bottom of the table.

How do I provide my own images for a book?
	- AudioWeb looks for the book images as follows:
	- You can optionally provide a "Book Details Base Folder" for the user.  If provided, this is assumed to have a folder layout that matches the folder layout of the Audio Files Base Folder.  This folder will be checked first for book images.
	- Say the audio book path is
	 	<AudioFilesBaseFolder>\CharlesDickens\DavidCopperfield.
Then the search algorithm is:
	1.  If there is a Book Details Base Folder specified, AudioWeb first looks in the folder: 	<BookDetailsBaseFolder>\CharlesDickens\DavidCopperfield for files named: DavidCopperfield*.jpg, DavidCopperfield*.jpeg, DavidCopperfield*.png, DavidCopperfield*.bmp, and DavidCopperfield*.gif (where '*' is the DOS wildcard character).  For example, the images DavidCopperfield.jpg and DavidCopperfield_1.png would both be associated with the book.
	2. Next, <BookDetailsBaseFolder>\CharlesDickens\DavidCopperfield is checked for files with the standard names "book.jpg", "folder.jpg", "book.png", "folder.png", etc.
	3. Next <AudioFilesBaseFolder>\CharlesDickens\DavidCopperfield is checked for files with the standard names "book.jpg", "folder.jpg", "book.png", "folder.png", etc.
	4. If not found, ascend one folder to CharlesDickens and repeat steps 1, 2, and 3.
	- For example, the easiest way to provide a book image is just to create an image file called "book.jpg" in the same folder as the audio book.
	- Up to 4 images can be displayed on the web page for each book.  For example, you could provide files called book.jpg, book_1.jpg, book_2.jpg and book_3.jpg in the same folder as the audio book.  You can swap between these alternate images on the web page.

How do I provide my own text details (notes) for a book?
	- Just as for the image details search, the Book Details Base Folder is assumed to have a folder layout that matches the folder layout of the Audio Files Base Folder. 
	- If there is a book details base folder defined, AudioWeb first looks in the folder
		<BookDetailsBaseFolder>\CharlesDickens\DavidCopperfield
for a single file named "book.txt" or "folder.txt".  If found, its contents will be displayed on the web page.
	- If not found, AudioWeb next looks in the folder
		<AudioFilesBaseFolder>\CharlesDickens\DavidCopperfield
for "book.txt" or "folder.txt" and displays it.

What is the format for the "book.txt" text details file?
	- You can either provide a file with lines in the format
		$field1=value
		$field2=value
		etc.
or can provide an unformatted text file (not recommended).  If unformatted, the entire contents of the text file will be shown on the web page under a single "Notes" banner.  If formatted, each field/value pair will be shown with a banner showing the field name and with the field value beneath the banner.  HTML format is allowed in the field values.
	- The fields from book.txt will be combined with fields generated from the audio track metadata (including the date created, duration, and bitrate of the individual track file) to create a single notes display on the web page.  Note the audio track metadata field titles all end with "[Track]" to distinguish them from fields you have added manually.
	- For example, the following book.txt file contents:
		$Title=David Copperfield
		$Author=Charles Dickens
		$Length=16 hours
		$Notes=A classic novel.
	would be displayed as follows on the web page:

If I copy some text and paste it into a text details file (book.txt), I see strange unprintable characters like in the notes display on the web page!  What's going on?
	- All text on the main AudioWeb web page is assumed to be in UTF-8 format.  If you copy arbitrary text from some web page (e.g. from amazon.com) and paste it into a book.txt file, you must save the book.txt file with UTF-8 encoding so that it will agree with the AudioWeb web page character encoding.
	- This is in fact fairly easy to do: when editing a "book.txt" file in Windows Notepad select "File - Save As" from the Notepad menu.  Change the "Encoding box at the bottom of the "Save As" dialog to be "UTF-8" and save the text file.  Now paste some UTF-8 text, and resave the file.  Reload the AudioWeb web page.  Now the notes display on the AudioWeb web page for this book will display book.txt with the correct UTF-8 encoding, and the unprintable characters will be replaced with the correct characters.
	- Note: If you just paste some text, then save the file as "ANSI encoding" (the default), the unprintable characters will be lost.  You must first save the file with "UTF-8 encoding" to establish its encoding type, then paste your text, then save again as "UTF-8 encoding".
	- Alternatively, using Notepad++ (see http://notepad-plus-plus.org) first set the "Encoding" menu bar item to be "Encode in UTF-8", then paste your text.  You can always see the current encoding of the file in the bottom status bar of Notepad++.
	- You can find all book whose notes contain unprintable characters using the built-in search query "<Notes with unprintable characters>".  See the FAQ section on Search Books View for more details.

How do I provide a URL link for more information about the book?
	- Just as for image files and text files, you can provide a separate "book.url" or "folder.url" Internet shortcut file in either the Book Details Base Folder, or the Audio Files Base Folder.  For example, this could be a link to the Amazon page for the book.
	- If found, the URL in this file will be displayed as a "More Details" link above the book details.  The browser will open a new web page when this link is clicked.
	- The rules for locating a URL link are the same as for locating the book details text file as above.
	- An alternate means of providing a URL link is to use the special field/value line format:
		$_Url=<web address>
in the book details text file.  However, if there is a separate book.url or folder.url file for the book, it will take precedence over any $_Url field in the text file.  (Using a separate .url file is the recommended approach.)

Book Details View (Admin)

Isn't there an easier way to create book details for each book, instead of creating .jpg, .txt and .url files manually in the appropriate Book Details or Audio Files folder?
	- Yes.  The Book Details View (available on the Admin window) provides a more convenient way to paste images, edit notes, or create a Url associated with a book.
	- The Book Details View also provides a convenient complete listing of the book details associated with all your books, allowing you to browse or sort the book details.  This includes the book path, and the name and location of: all image files associated with the book, the url file, the notes file, and the last modified date/time for the audio files associated with the book.
	- Use Book Details View to identify which books have missing book details and fill these in.
	- Easily create or remove images for each book, or change the order of book images.
	- Book Details View allows you to create a note template listing the "standard" fields you want to provide in the notes for each of your books (e.g. Title, Author, Genre, Summary, etc.), then add all these fields to a book just by pushing one button.  You can edit the note fields for a book directly in the view, without launching a separate editor.
	- Easily paste and reduce urls to a simplified url string that is much shorter (especially for Amazon urls).
	
How do I show the Book Details View?
	- Use the "Book Details" button above the users list in the AudioWeb main window.  This will open a Book Details View for the currently selected user in the list UNLESS you have turned off “Show book details” for the user.
	- The contents of a Book Details View are determined by the combination of an Audio Files base folder and a Book Details base folder (if you have specified one).  That is, 2 different users may have the same Audio Files and Book Details base folders; then there will be only one possible Book Details View associated with both these users.
	- If more than one Book Details View is possible (i.e. you have multiple users, with differing combinations of Book Details and Audio Files base folders), you can open a different Book Details View for each such combination.  If several views are open, push the "Book Details" button to see the list of all open views; you can navigate to any of these views using the drop-down list, or create a view for the currently selected user (this will just activate the appropriate view if it is already shown), or close all the Book Details Views using the appropriate item in the drop-down list.
	- When AudioWeb starts, it will automatically initiate collection of book details for all possible combinations of Book Details and Audio Files base folders.  The history log on the main AudioWeb window has messages telling you when this collection process is started and completed.  The same collection process is initiated when you press the “Refresh” button on a Book Details View.

How do I add images for a book?
	- Use the row of buttons above the Images area at the right of the book list:  
		
	- Use the "Paste New" button  to paste the image from the Windows clipboard as a new image for the book.  (The button will just play a beep sound if there is no image in the clipboard.)  Note there can be at most 4 images for a book, so after you have added 4 images this button will be disabled.
	- Use the "Paste Over" button  to paste the image from the Windows clipboard over the current image.  This will replace the existing image.  As above, the button will beep if there is no clipboard image.  If there are no images yet, this will just add this clipboard image as the first image for the book.
	- Use the "Move Up/Down" buttons  to change the position of the current image in the list of images for the book.
	- Use the "Remove Image" button  to remove the current image from the list.
	- Use the "Remove All Images" button  to remove all images for the book.
	- Use the "Explore" button  to open a Windows Explorer with the current image file selected.
	- Use the “Edit Image” button  to open the current image in the default image editor (e.g. mspaint).  You can also double-click any image name in the book list to open the image in the default editor.
	- Note that if you edit an image in mspaint, the changes are reflected immediately in the image area.  Similarly, if you add a new image file or remove an image file using Explorer, the changes are shown immediately in Book Details View.

How are images displayed in Book Details View?
	- The assigned image names for a book are shown in the book list.  There can be several image lines for each book.  Hover the mouse on any image name to see the full file path for the image in a “tooltip”.
	- The Images area at the right of the book list shows the selected image, as well as the number of images for the book.  You can select different images for the book using the number buttons below the displayed image.
	- Each image name is contained on a single line in the book list.  The first image name is contained on the primary line of the book; any subsequent images are contained on secondary lines below the primary line.  You can contract/expand the secondary image lines using the +/- characters at the left of the book list.  Right click the title column header of the +/- column to expand/contract all secondary image lines.  If you click on a line of the book list, its image will be shown in the image details area at the right of the book list; if you select an image from the image details area using the number buttons at the bottom of the image, the current line in the book list will move to match your selection.

How do I add text notes for a book?
	- Use the row of buttons above the Notes area at the right of the book list:
		
	- Use the “Add Note” button  to add a note for the current book.  This will add an area for the note name (e. g. “Author”) and an area below it for the note contents (e.g. “Charles Dickens”).  Click in either area to edit the note name and contents.
	- Use the “Remove Note” button  to remove the current note for the book.  This will remove both the note name and contents.
	- Use the “Move Up/Down” buttons  to move the current note up or down in the list of notes.
	- Use the “Add Template Notes” button  to add note names for the current note template.  (See the question below for an explanation of note templates.)
	- Use the "Add Book Metadata Notes" button  to automatically calculate and add the book-level metadata fields:
•	Number of files [Book] - the total number of mp3 files in this book.
•	Total file size [Book] - the total size of the mp3 files in this book.
•	Total duration [Book] - the total duration of the mp3 files in this book.
You can also use this button to update the above fields if you have already added them but the number of files in the book has now changed.  Since these are generated fields, you cannot edit them directly.  Note: this is not very useful in the case of a "book" that is a podcast folder, since presumably more podcast episode files would be added periodically to the folder; you would then have to manually regenerate the book metadata fields every time this occurred.
	- Note: You can use the global "Add book metanotes" button  at the top-right of Book Details View to add/update book-level metadata fields for all your books at once.  (See the next question for more information about the "Add Book Metanotes" dialog.)
	- Use the “Remove All Notes” button  to remove all the notes for the book.
	- Use the “Explore” button  to open a Windows Explorer with the current notes file selected.
	- Use the “Edit Notes File” button  to edit the notes using the default editor (e.g. Notepad).  Any changes you make in an external editor will be shown immediately in the Book Details View (after you save the changes to the notes file).  Similarly, if you remove a text file using Explorer, the Notes area in Book Details View will be cleared immediately.
	- Use the tab key or the up/down arrow keys to move between notes fields.  Note this will only take you to the contents area of each note, not the title area.  To edit the title of a note, click directly in the title area.
	- Only 20 note fields per book are allowed, including the book metadata fields.
	- Note: text notes are saved once you leave the notes area, or you click on a window other than Book Details View.  You can also just press Control-S to save the text notes while in the title or contents area of any note.

Instead of adding metanotes for just one book at a time, is there a way to add metanotes for all my books at once?
	- Yes.  The "Add book metanotes" button  at the top-right of Book Details View shows the "Add Book Metanotes" dialog.  Include any or all of the books, then use the green "Add Metanotes" button at the bottom of the dialog to calculate the metanotes fields (Number of Files, Total File Size, Total Duration) for each included book.  The results are shown in the list as the operation proceeds.
	- You can set "Include" on/off for all books in a subfolder at once using the "Include all" checkbox at the bottom of the dialog:
		
Use the text area at the right of the checkbox to restrict this action to a subfolder of the book path.  For example, if you want to include all books in the folder "CharlesDickens",  set the text area to "CharlesDickens" and check the "Include All" checkbox; this will include/exclude only the books within the "CharlesDickens" folder.  As you type in the "In subfolder..." textbox, a list of all matching subfolders will appear.  If the "In subfolder..." text area is left blank, the "Include all" checkbox will include/exclude all books.
	- See the next question for information about the "AutoUpdate" checkbox column in the list.
	- You can also select a range of Include checkboxes in the list using Shift-Up/DownArrow, then press the space bar to toggle several checkboxes at once.
	- Note that the metanotes field columns in the list are not populated until you perform an Add or Read operation.
	- You can easily add metanotes for just the books whose metanotes have not yet been generated:  Include all the books, then use the green "Read Metanotes" button at the bottom of the dialog to read the metanotes fields from the notes file for each book.  The results are shown in the list.  You can then sort the list by these metanotes fields to find the books whose metanotes have not yet been generated.  Check Include for just these books (e.g. using Shift-Up/DownArrow and the space bar), then press the "Add Metanotes" button.
	- You can also use the green "Add Metanotes" button to manually recalculate metanotes for any books whose files have changed (e.g. a podcast with new files).
	- While the "Add Metanotes" or "Read Metanotes" operation is in progress, the current book being operated on will be automatically selected in the list.  You can uncheck "Track current operation" to disable this behavior.
	- Note you cannot change the checkboxes in the list while an operation is in progress.

Podcast "books" change constantly, as new episodes are downloaded!  Isn't there some way to keep the book metanotes in sync automatically when this happens?
	- Yes.  You can designate a podcast (or any book) as auto-update, meaning its book metanotes will be automatically updated whenever audio files (.mp3) are added to (or removed from) the book folder.
	- Open the "Add Book Metanotes" dialog.  Click the "AutoUpdate" checkbox in the book list for any book whose metanotes should be automatically updated when the audio files (tracks) of the book are changed, added or removed.  Note this is a persistent setting:  it will remain in effect after you close the dialog, close the Book Details View, or restart AudioWeb.
	- If AutoUpdate is off for a book/podcast, and you now turn it on, the book metanotes will be immediately recalculated once you exit the dialog.  If you do this for many books at a time, it may take a while for the metanotes to be updated.
	- You can turn AutoUpdate on/off for all books in a subfolder at once using the "Auto-update all" checkbox at the bottom of the dialog:
		
Use the text area at the right of the checkbox to restrict this action to a subfolder of the book path.  For example, if your podcasts are all in the folder "Podcasts", and you set the text area to "Podcasts", the "Auto-update all" checkbox will now turn on/off only the books within the "Podcasts" folder.  If the "In subfolder..." text area is left blank, the "Auto-update all" checkbox will turn this on/off for all books.
	- You can also select a range of AutoUpdate checkboxes in the list using Shift-Up/DownArrow, then press the space bar to toggle several checkboxes at once.
	
I want all my notes to have a standard format, like Author, Title, Genre, etc.  How can I do that?
	- You can create a “note template” listing these standard fields.  Use the “Edit” button in the “Note template” area at the top right of the Book Details View to add/remove/edit note templates and the fields they contain.
	- Let’s say you have a note template named “AudioBook” containing the fields “Author”, “Title”, “Genre”, “Length” and “Summary”.  If this is the selected note template for the Book Details View (use the Note template drop-down list to select one), you can use the “Add Template Notes” button  in the Notes area to add notes for all these fields to the current book at once.  This will only add notes for any template field you have not yet added - for example, if there is already an “Author” field, then adding template notes will not add another “Author” field to notes.  Only fields that do not yet exist will be added.  Of course, you must fill in the contents for all the fields added in this way.
	- You can have multiple note templates, for example, separate ones for audio books and for podcasts.  Select the appropriate note template in the view before you add template notes for a book.
	- AudioWeb provides 2 default note templates:
•	AudioBook - containing fields Title, Author, Reader, Genre, Length and Summary.
•	Podcast - containing fields Title, Genre, Author, Categories, Description.
You can modify these as you wish (add or remove fields), or delete them.  If you remove all the note templates, AudioWeb will restore the default note templates when the program is restarted.

How do I add a Url for a book?
	- Use the row of buttons above the Url area at the right of the book list:
		
	- Use the “Visit Url” button  to display the Url in the default web browser.
	- Use the “Paste Simplified Url” button  to paste the Url in the clipboard into the Url text area, and simplify it.  For example, if the clipboard Url is this Amazon link for David Copperfield:
	https://www.amazon.com/David-Copperfield-Charles-Dickens-audiobook/dp/B074HHQT5W/ref=tmm_aud_swatch_0?_encoding=UTF8&qid=&sr=
then pasting it as a simplified Url will produce:
	https://www.amazon.com/dp/B074HHQT5W
which will take you to the exact same web page.  Note: simplifying a Url other than an Amazon Url will just remove the query string portion of the Url (after the ‘?’ if there is one).
	- Use the “Simplify Url” button  to simplify the Url already in the text area.
	- Use the “Remove Url” button  to remove the Url in the text area.
	- Use the “Explore” button  to open a Windows Explorer with the current Url file selected.
	- Of course, you can also add/edit a Url by typing directly (or pasting some text) in the Url text area.  Note: the Url buttons are only enabled if you provide a valid (well-formed) Url, starting with http:// or https://.

How do I sort the book list?
	- Click any column header in the list to sort the column in ascending or descending order (clicking again sorts in the other order).
	- Note: This provides an easy way to see which of your books has not yet been assigned images/urls/notes.  Click on the “Url file name” column header to sort it; books with blank urls will sort at the top of the list.  Similarly, click on the “Image file name” or “Notes file name” columns to sort books with missing images or notes at the top of the list.
	- If you would like to see which books were added most recently, just sort the list on the "Date modified" (right-most) column of the list.  This is the date/time of the last modification made to the book folder or its audio files.

How many books are in the book list?
	- The status area at the bottom of Book Details View displays the total number of books, as well as the number of books without images, without urls, and without notes.  These counts will help you assign any missing images/urls/notes to your books.

How do I quickly navigate to an audio book folder, or to its book details?
	- Double-click in the “Book path” column of the list to open a Windows Explorer with the book folder selected.
	- Double-click in the “Url file name” column of the list to open a Windows Explorer with the Url file selected.
	- Double-click in the “Image file name” column to view the image file in the default image editor (usually mspaint).
	- Double-click in the “Notes file name” column to view the notes text file in the default text editor (usually Notepad).
	- Note that if you hover on any of these names, a tooltip will appear showing you the complete path to the file or folder.
	- When viewing details of a particular book, you can always click on the “Explore” buttons  in the Images/Notes/Url areas to open a Windows Explorer with the particular details file selected.

How do I search the book list for a particular entry?
	- Click in any column of the list, and start typing the word you want to find.  When you type “James”, the list enters “search mode” and you will see a message in the status area at the bottom of the Book Details View similar to:
	[Row=132] Searching in Book path for: “James” - Press ESCAPE to cancel, Alt-Up for previous match, Alt-Down for next match.
	As you type, the book list will select the next match in the column for the letters you are typing.  If there is more than one match, you can use Alt-Up/Down to cycle through the matches.  Once you stop typing, the list will revert to “normal mode” in ten seconds, and the search message will disappear.

Can I export what I see in the book list to a file?
	- Use the “Export” button at the top right of the Book Details View to select a “.csv” (comma-separated-values) file name.  Press “Save” in the file selection dialog to save the book list to this file.
	- Once the process is complete (in a few seconds), you will see the “Export Book Details” Dialog showing the results, e.g.

	This tells you how many detail lines are in the file, and the complete file path.  Use the “Explore” button on this dialog to open a Windows Explorer with this file selected.  Use the “Open” button to open the file in the default editor, e.g. Microsoft Excel.  Excel will then attempt to import this file; you will need to tell it that the fields are comma-delimited.
	- For convenience, the first two lines in the file show the Audio Files and Book Details base folders.  The details lines then use short symbols for these prefixes ([AudioFIles], [BookDetails]) to show the complete path of each file.

Sometimes when I open Book Details View, it is empty and I see the message "Checking files" at the bottom.  What does that mean?
	- For better performance (especially with large numbers of books), Book Details View uses cached information about the book details (for each combination of Audio Files and Book Details base folders).  The message "Checking files" means AudioWeb is still collecting this cached information.  Once complete, the view will display the book details.
	- Collecting book details will take less than a second in most cases; however if you have thousands of books, OR if the Audio Files or Book Details base folders are located on remote drives (e.g. network shares), it may take longer to collect this information.

If I change some book details using Windows Explorer, will I see these changes automatically in Book Details View?
	- Yes. Each Book Details View watches all the subfolders of the Audio Files and Book Details base folders.  If a change is made to any image/text/url file in a subfolder belonging to a book, the change will be immediately reflected in the Book Details View.  This includes adding, removing, modifying or renaming any image/text/url file associated with a book within these folders.
	- However, there are limitations to this mechanism.  If too many changes (about 100) are encountered at once, the view will revert to the status of "Checking files..." and will refresh once rebuilding the book details is complete.
	- You can always use the “Refresh” button at the top right of the Book Details View at any time to initiate a complete rebuild of all book details.  While this is in progress, you will see the message “Checking files...” at the bottom of the view.  If you have a large number of books, or if the Audio Files and/or Book Details base folders are on remote drives, this may take some time.

If I change some book details using Book Details View or Windows Explorer, will I see these changes immediately in the displayed web page for this book?
	- Unfortunately, no.  If you are displaying this book on the AudioWeb web page, you will have to refresh the web page in the browser to see the modified book details.  
	- Of course, selecting a different book on the web page will always display the current book details for that book.

How do I change the name (title) of a book?
	- Use the “Rename Book” button at the top of Book Details View.  This shows a dialog like:

Provide a new book name and press OK.  The book folder and all associated book details files will be renamed appropriately.
	- A book name cannot be duplicated (within its book folder).
	- A book name can only contain characters valid within a file name, so
		\   /   :   *   ?   “   <   >   |
are all prohibited.
	- You cannot change the book folder using the above dialog.  Instead, you will have to move or rename the folder using Windows Explorer.  If you have provided a separate Book Details Base Folder, remember to change the location of the book details files to match the new location of the book.
	- You can see which files and folder were renamed (as well as any errors encountered) in the Main window history log.

Search Books View (Admin)

I have hundreds of books in AudioWeb.  How can I find all the books with a certain title, or books added recently, or with certain words in the book notes (text details file)?
	- Open Search Books View using the Search Books button at the top of the Main window, which allows you to search for books in several different ways.  There is a separate Search Books View for each Book Details View, determined by the combination of an Audio Files base folder and a Book Details base folder (if you have specified one).  Use the Search button on Book Details View to access the corresponding Search Books View, and use the Book Details button on Search Books View to access the corresponding Book Details View.
	- The simplest search method is to type some search terms (separated by spaces), in the Book name/folder text fields, then press the Enter key or the green Search button at the top of the view.  (Click the "Simple search" checkbox to enable these fields.)  This will find all books whose name contains all of the search terms, and display matches in the Books list at the bottom of the view.  If you wish to search for a term that contains spaces, just surround the search term by double-quotation marks.
	- Similarly, you can search for text within a notes field (from the text details file) of any book.  Type "$Notes.Author" in the "Notes field" area, and "dickens" in the "contains" text box at the right, then press Enter or Search.  This will find all books whose notes file contains the field named "Author", with field value containing "dickens".
	- For example, type "green mansions" in the Book name text field (without the quotation marks) to search for books whose name contains both "green" AND "mansions".  Press the Enter key or use the green Search button to display all such books in the results list at the bottom of Search view.
	- To search for books whose name contains the terms "green" OR "mansions", click the "Match ANY word" checkbox, then press Search.  All books whose name contains EITHER "green" or "mansions" will be displayed; of course this will be many more than before, when you were searching for "green" AND "mansions".
	- Normally, case (capitalization) is not considered when determining if a term occurs in the book name/folder.  To search in a case-sensitive manner instead, you can check the "Match case" checkbox at the top of the view.  Now books whose name contains "Green" will not match the term "green".  The "Match case" checkbox applies to Book name, Book folder, and Notes field contents.
	- To find books added within the last 7 days, click the checkbox in the "Audio modified time from" date picker, and select a date 7 days in the past.  To find books added before January 1, 2021 click the checkbox in the corresponding "to" date picker and select this date.
	- The status area at the bottom of the view tells you how many books were found in the last search.

What's the difference between the Search Books View in AudioWeb admin, and the Search panel on the web page?
	- Due to the constraints of web browsers, the web page Search panel is much simpler than Search Books View.  You can use complex search queries involving and/or/not in Search Books View, whereas the web page Search panel only allows searching for terms in the book or folder name; the web page Search panel simply ignores all the terms "and", "or", "not", and parentheses.
	- However, the web page does allow you to search for file (track) names within a book, which you cannot do in Search Books View.  This can be useful in the case of podcasts, where the episodes names are meaningful.

Sometimes when I open Search Books View, the controls are disabled and I see the message "Checking files..." at the bottom.  What does that mean?
	- For better performance (with large numbers of books), AudioWeb caches information about book details.  The message "Checking files" means AudioWeb is still collecting this information (it usually takes less than a second).  Once complete, you will be able to search the book details.

What properties can I search for using "Simple search"?
	- Search for terms in the book name/folder using the corresponding text boxes.
	- Search for terms within any notes field of the book notes file.  For example, enter "$Notes.Author" in the Notes field" text box, and "Dickens" in the corresponding "contains" text box to search for all books whose notes "Author" field contains "Dickens".  (If you just type "$" in the Notes field text box, you will see a drop-down list of the notes field names from all the note templates, but you can also search for a notes field name that is not in any note template.)  Important note: the name of a notes field should not contain spaces or special charcters (such as [  ] ' " ( ), etc.) since the syntax of search queries does not allow these characters in notes field names.
	- You can search for books whose audio files were added or modified during a certain period using the "Audio modified time" to/from controls.  Click the checkbox in either date/time box to enable it, then select a date from the drop-down calendar, and enter a time.  If you select only a "from" time, you are searching for book with subsequent audio modified times; if you select only a "to" date, you are searching for books with previous audio modified times.  If you select both "to" and "from" times, you are searching for audio modified times between the "to" and "from" times.
	- You can search for books whose duration is between two time limits using the "Book duration" to/from controls.  (This uses the "Total Duration" metanotes field for the book.  Use the Book Details View metanotes  button to calculate this field for an individual book, or the "Add Book Metanotes" dialog (identical button at the top of Book Details View) to calculate it for all books.)
	- You can verify whether you have provided Url/Notes/Images book details for all your books using the corresponding "Search for" checkboxes in the Simple search area.  Check the box "Search for" next to the "Has Url" box to enable "Has Url".  Now the "Has Url" condition will be included in the search.  If you check "Has Url", you are searching for books whose Url field has been filled in using the Book Details View; if you uncheck "Has Url", you are search for books with a blank Url field.  Similarly, you can search for books with/without notes, and with/without images.

Can I open more than one Search Books View at a time?
	- Yes. Use the "Search Books" button in the Main window to open a new Search view for the current user, select any open Search view, or close all the Search views.  You can also use the Search button in Book Details view to open the corresponding Search view.
	- Search views are numbered so you can distinguish them, e.g. "Search - 1" is the first view opened, "Search - 2" is the second, etc.  If you exit AudioWeb with several Search views open, each will be restored when you restart AudioWeb.
	- If you minimize AudioWeb, all the Search Views will be hidden; if you restore AudioWeb, they will again appear with their last position and size.

The columns I see in the search results list seem to depend on the search query in some way.  How does that work?
	- Each search results column show the value of a different search variable.  Since there are many such variables, for simplicity only certain variables are shown in the results of a particular query.
	- The variable $BookPath is ALWAYS shown in the results so that you can identify the book.
	- The other variables shown in the results are the variables that occur in the search query.  For example, if you search based on the audio modified time and book duration, the query might be:
	"[$AudioModifiedTime > $DateTime.20210101]
		 and [$MetaNotesDuration < $TimeSpan.100000]"
in which case the search results columns will be:
	$BookPath (always present)
	$AudioModifiedTime (present in the query), and
	$MetaNotesDuration (present in the query).
	- You can use the "Extra Columns" dialog to force extra variables to appear in the search results as well, even if they do not occur in the query.  The extra columns you request will be present in every new search query results until you change them or close the Search view.  See the "What are Extra Search Columns?" question below for more information.

What are Extra Search Columns?
	- When you perform a search, the search results list will normally only show columns for the set of variables that occur in the query.  However, you can force extra columns to appear by using the "Extra Columns" button above the results list.  This shows the "Extra Search Columns" dialog:

	- You can check any number of column (variable) names in this dialog.  After you close the dialog, these additional columns will be appended to the search results for the current search query, as well as for any new search query.
	- Extra columns in the results list are shown with a light brown color to distinguish them from columns whose variables occur natively in the search query.
	- If you have already selected extra search columns, they will already have a check mark in the dialog when you open it.  Just uncheck these column names to remove them from the search results.
	- Use the group checkboxes above the four individual lists (General Variables, Url Variables, Image Variables, Notes Variables) to check/uncheck all the boxes in an individual list at once.
	- To add an individual notes field such as "$Notes.Reader" to the Notes Variables list, enter this text (including the prefix "$Notes.") in the small textbox at the bottom of the Notes Variables list, then press the button "Add Notes Field" at the left of this textbox.  The notes field will then be added to the Notes Variables list.  If you just type the character "$" in the textbox, you will see a list of all the notes fields from the notes templates you have defined.  You can select one of these, or enter any other notes field name.
	- A particular variable column can only occur once in the results list.  For example, even if the query uses $AudioModifiedTime more than once:
		[$AudioModifiedTime < $Now - $Days.1]
			 and [$AudioModifiedTime > $Now - $Days.7] 
the results list will have only one column entitled "$AudioModifiedTime" (in addition to the $BookPath column).
	- If a variable occurs in the query, and you also select it as an "extra" column in the dialog, it will still only occur once in the results list.
	- If you have several users with different combinations of audio/doc base folders, each Search Books View will have its own set of extra columns, independent of the other Search Books Views.
	- If you close the Search Books View, the extra columns will be gone when you reopen the view.

What can I do with the book search results in Search View?
	- Sort any column in the books list by clicking the column header.  Click again to sort the column in the opposite direction.
	- Double-click any of the small column dividers at the top of the results list to make the column at the left of the column divider expand to the maximum width of any entry in the column, or just left-click-drag the column divider to change the column width.
	- Use the "Book Details" button to see the Book Details View corresponding to this Search Books View.  The Book Details view will automatically select the same book that was selected in the Search Books results list.
	- Use the "Export" button to export the results list to a comma-separated-values (.csv) file, which you can then view using Microsoft Excel.  For reference, you can also export the current search query to a line above the exported results list by checking "Export search query" in the AudioWeb Settings dialog.
	- Use the "Explore" button to open a Windows File Explorer positioned at the audio files folder of the selected book (same as double-clicking the $BookPath entry).
	- Use the Maximize button to see the search results in a larger list occupying the entire view; then click the Restore button to revert to the smaller list.

What does the "Simple search" checkbox mean?
	- It means you are building a search query using the field controls, instead of building a query by typing directly in the "Search query" text box.
	- When you use the "Simple search" fields to search for books, you are actually building a "Search query" expression, which is shown in the text area above the results list.  If you change the Simple search controls, then press the green Search button, you will see the resulting search query expression in this text area.  Every book is then evaluated against this search query, and books that satisfy the query appear in the results list.  You can use these queries as a starting point, and modify them as you wish to get different results.
	- Building a query in this way (using the controls) is a Simple search.  However, you can enter any legal search query in the "Search query" text area, then press the green Search button (or use the shortcut key combination Control-Enter) to get the corresponding results.  When you search in this more complex way, the check mark is removed from the "Simple search" checkbox to indicate you are using a "raw" search expression instead of building it from the controls.  If you manually click the "Simple search" checkbox, the green Search button will again use the Simple search controls to build a query.

What is the language used by search queries?
	- Search queries are written in M/QL (MollieSoft Query Language).

	- A basic query (a "statement") just compares a search variable with a constant.  (The value of a constant is independent of the book being considered.)

	- Here are some examples of basic queries:
•	[$BookPath has "mansions"] looks for books whose relative path (excluding the audio base path) has the text "mansions" somewhere in it.
•	[$AudioModifiedTime > $now - $days.2] looks for books whose audio files were modified less than 2 days ago.
•	[$BookName has "Adventure"] looks for books whose name (not including the book folder) contains the text "Adventure".
•	[$MetaNotesDuration > $TimeSpan.103000] looks for books whose audio duration is greater than 10 hours and 30 minutes.

	- Basic queries are always surrounded by square brackets.

	- Basic queries can be combined using any combination of the logical operators 			AND, OR, NOT, and parentheses ( )
to form a complex query.  For example, the complex query
		[$DocModifiedTime < $DateTime.20150501]
			and not [$BookPath has "History"]
looks for books whose detail files were modified before May 1, 2015 but whose audio folder relative path does not contain the text "History".

	- Note that when you use "Simple search" (build a query using the field controls) the basic queries resulting from the individual controls are combined using the AND operator.  However, if "Match ANY word" is checked, separate terms (separated by spaces) within the text boxes "Book name", "Book folder", and "Notes field" will be combined using the OR operator instead.

	- Book variables are of two types: text variables (which evaluate to a string of characters) and arithmetic variables (which evaluate to a number).  Text variables can only be compared with text values, and arithmetic variables can only be compared with arithmetic values.

	- Text variables can be compared with text constants using the operators:
		= ,  != ,   "Has", "StartsWith", "EndsWith", "RegexMatch".
•	The equal and not-equal operators test for equality and inequality.
•	The "Has" operator tests whether the value of the second operand is present in the value of the first operand.
•	 "StartsWith" tests whether the first operand begins with the second operand.
•	"EndsWith" tests whether the first operand ends with the second operand.
•	"RegexMatch" matches the first operand variable with the regular expression in the second operand.
•	If "Match case" is checked, all of these tests are performed in a case-sensitive manner; if unchecked, the tests are case-insensitive.

	- For example, say a book has the name "GreenMansions".  Then all these statements are true:
		[$BookName = "GreenMansions"]
		[$BookName  != "GreenMansion"]
		[$BookName Has "Man"]
		[$BookName Has "Mansion"]
		[$BookName StartsWith "Gre"]
		[$BookName EndsWith "Mansions"]
		[$BookName RegexMatch "^[GB]reenMansions$"]
But these are false (note spaces within text constants are important):
		[$BookName Has "Green  "]
		[$fileName StartsWith " G"]
		[$fileName EndsWith "Man"]
Operator names are always case-insensitive: "has" is the same as "Has", "startsWith" is the same as "Startswith", "endswith" is the same as "EndsWith", etc.

	- Arithmetic variables can be compared with arithmetic expressions using the operators:	=,  !=,  <,   >.

	- Variable names are always case-insensitive.  Thus, the forms $notesfilePath and $NotesFilePath are both valid and mean the same.

	- The text variable names (text property of books) used in M/QL are:
•	$BookPath - Relative path of book audio folder, excluding audio/doc base.
•	$BookName - Last segment of book path.
•	$BookFolder - All but last segment of book path.
•	$Notes.<FieldName> - Individual field in the notes file, e.g. "$Notes.Author".
•	$Notes - Entire contents of notes file.
•	$NotesFilePath - Relative path to notes file, excluding audio/doc base.
•	$NotesFileName - File name of notes file.
•	$NoteTemplateMatch.<TemplateName> - "True" if notes have a non-blank value for each field in template, else "False".  For example, the variable $NoteTemplateMatch.AudioBook is "True" if all the fields in the AudioBook template ("Title", "Author", "Reader", "Genre", "Length", "Summary") occur in the notes file of the book and are not blank.
•	 $Url - Url string for book.
•	$UrlFilePath - Relative path to url file, excluding audio/doc base.
•	$UrlFileName - Name of url file.
•	$Image<N>FilePath - Relative path of image file #N (1-4), e.g. $Image1FilePath.
•	$Image<N>FileName - Name of image file  #N (1-4), e.g. $Image4FileName.

	- You can query the text length (number of characters) of any text variable by adding the suffix "#Length" to the variable name.  For example, the query
		[$BookName#Length > 25]
searches for books whose name has more than 25 characters.

	- The arithmetic variable names (arithmetic property of books) used in M/QL are:

•	$AudioModifiedTime - DateTime audio files last written.
•	$DocModifiedTime - DateTime doc files last written.
•	$NotesFileSize - Size of notes file.
•	$NotesModifiedTime - DateTime notes file last written.
•	$NotesFieldCount - Number of notes fields in notes file.
•	$MetaNotesFileCount - Number of audio files in book, from notes file.
•	$MetaNotesFileSize - Total size of audio files in book, from notes file.
•	$MetaNotesDuration - Total duration of audio files in book, from notes file.
•	$NoteTemplateMatchCount.<TemplateName> - Number of non-blank notes fields that match a field name in the template.  For example, the variable $NoteTemplateMatchCount.AudioBook is the number of non-blank notes fields with the name "Title", "Author", "Reader", "Genre", "Length", or "Summary".  The statement
			[$NoteTemplateMatchCount.AudioBook = 6]
	      is true for a book with all the AudioBook template fields filled in.
•	$NoteTemplateCount.<TemplateName> - Not a variable, but a constant representing the number of fields in the template.  So another way to write the statement above is:
			[$NoteTemplateMatchCount.AudioBook = 
				$NoteTemplateCount.AudioBook]
•	$UrlFileSize - Size of url file.
•	$UrlModifiedTime - DateTime url file last written.
•	$Image<N>FileSize - Size of image file #N (1-4).
•	$Image<N>ModifiedTime - DateTime image file #N was last written.
•	$ImageModifiedTime - DateTime any image file was last written (max of modified time for image files 1-4).
•	$ImageCount - Number of images (0-4).

	- Conversion operators:  you can convert a variable value to a different form by adding a suffix (#) operator:
•	#ToText - Converts an arithmetic (double) variable to text (string) form, using the specific variable type.  For example, $MetaNotesFileSize#ToText might evaluate to the text "$KB.4".   $MetaNotesDuration#ToText might evaluate to the text "20100225 13:26:18", representing February 25, 2010 at 1:26 p.m. and 18 seconds.  To see how this operator works, include a statement involving it in the query, e.g.: [$MetaNotesDuration#ToText != ""]
•	#ParseNumber - Converts a text variable to a number.  Useful if you have defines notes fields that are actually numbers.  For example, if you have a notes field named "Rating" that can be 1-5, the query [$Notes.Rating#ParseNumber > 3] will produce all books with rating 4 or 5.
•	#ParseDateTime - Converts a text variable to an arithmetic date/time.  For example, if a book has a notes field "DatePublished" with value "01/15/2020", $Notes.DatePublished#ParseDateTime will have same value as $DateTime.20200115.
•	#ParseTimeSpan - Converts a text variable to an arithmetic timespan.  For example, if a book has a notes field named "BookDuration" with value "20:25:05" (20 hours, 25 minutes, 5 seconds), $Notes.BookDuration#ParseTimeSpan will have the same value as $TimeSpan.202505.
•	#ParseBytes - Converts a text variable of the form "<N> B/KB/MB/GB" to an arithmetic size in bytes.  For example, if a book has a notes field named "BookSize" with value "20 MB", $Notes.BookSize#ParseBytes will have the   same value as $MB.20.  Similarly, the notes value "100 KB" will match $KB.100, etc.

	- Some arithmetic variables are used as convenient expressions to represent arithmetic constants:
•	$Now - the current date/time.
•	$DateTime.YYYYMMDD_hhmmss - where YYYY = year, MM = month, DD = day, hh = hours (00-23), mm = minutes (00-59), ss = seconds (00-59); leading zeros are required.  The reduced form $DateTime.YYYYMMDD is also valid and represents midnight (start of the day).
•	$Days.N - where N is the number of days (N >= 1); can be added to or subtracted from a date/time.
•	$Timespan - can be any of the forms:
		$Timespan.ss
		$Timespan.mmss
		$Timespan.hhmmss
		$Timespan.d.hhmmss
   where ss = seconds (00-59), mm = minutes (00-59), hh = hours (00-23), d = days; can be added to or subtracted from a date/time.  Leading zeros are required in each form.
•	$KB.N - where N is the number of kilobytes.
•	$MB.N - where N is the number of megabytes.
•	$GB.N - where N is the number of gigabytes.

	- For example:
•	$DateTime.20170823_193033 - represents the date/time August 23, 2017, 7:30:33 p.m.
•	$Days.23 - represents a time span of 23 days.  This can be added to or subtracted from a $DateTime value.
•	$KB.40000 - represents 40000 kilobytes.
•	$MB.50 - represents 50 megabytes.

	- Here are some examples of complex expressions:
•	Find books whose audio was modified less than a week ago, and greater than 200 MB in size:
	[$AudioModifiedTime  >$now - $days.7] 
		and [$MetaNotesFileSize > $MB.200]
•	Find books whose name contains "war", with duration between 10 and 15 hours, last modified on August 23, 2017 (note the expression $DateTime.20170823 represents midnight on that day):
	([$BookName has "war"])
		 and [$MetaNotesDuration > $TimeSpan.100000]
		 	and [$MetaNotesDuration < $TimeSpan.150000]
		 and [$AudioModifiedTime > $DateTime.20170823] 
			 and [$AudioModifiedTime < $DateTime.20170824]
	
It's hard to remember all these variable and constant names!  Isn't there an easy way to add the correct form of a book variable or constant into the search query text area?
	- Yes.  Use the "Insert Search Term" button above the search text area to show the query helper menu.  Select a variable, operator, constant or suffix from the menu to add it into the search text box at the current position.  Use these to form statements, then connect your statements with the logical operators and/or/not to make complex queries.
	- You can also show the query helper menu by right-clicking in the search query text area.
	- You can also press the Help button at the top to show the Search Help window.  This provides a convenient summary of search query syntax that you can use while composing queries.  Note: press Ctrl-F in the Search Help window to show the Find Bar and find text within the help document.

How can I use regular expressions in the search?
	- Warning!  Regular expressions are rather complicated and are intended for the "power user".  If you don't feel comfortable with them, just ignore this capability and use the plain text search operators "=", "!=", "Has", "StartsWith", "EndsWith".
	- Example: to search for books whose name starts with 2 numeric digits, use the query [$BookName regexMatch "^\d\d"].
	- When building a search query, you can use the "RegexMatch" operator with any text variable, such as $BookName or $BookFolder.  This will perform the match using the Microsoft version of regular expressions, explained at https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference.  You may also like the "cheat sheet" available at https://download.microsoft.com/download/D/2/4/D240EBF6-A9BA-4E4F-A63F-AEB6DA0B921C/Regular%20expressions%20quick%20reference.docx 
for quick reference.
	- Here are some examples of regular expression syntax.  These snippets are also available using the "regex builder" button  above the Search query text box.
. 			- Match any single character
.* 			- Match any character zero or more times
.+ 			- Match any character one or more times
[abc]			- Match any character in the set 'abc'
[^abc] 		- Match any character NOT in the set 'abc'
[a-f] 			- Match any character in the range a to f
\d 			- Match any numeric character
? 			- Match preceding character zero or one times
* 			- Match preceding character zero or more times
+ 			- Match preceding character one or more times
\d{3} 			- Match three consecutive decimal digits
0[xX][0-9a-fA-F]+	- Match a hexadecimal number
[0-9]*\.*[0-9]+ 	- Match integers and decimals
^ 			- Match beginning of text
$ 			- Match end of text
You can select any of these entries from the regex builder dropdown menu, which will insert the selected expression into the search query text box at the cursor.  You can then modify the inserted expression as desired.

How can I save a query once I have built one I want to keep?  How do I reload it?
	- The "File Menu" button above the "Search query" text box shows a drop-down menu with a "Save as..." menu item, which brings up a "Save Search Query File" dialog.  This lets you save a query to disk as a small text file in the queries directory
%localappdata%\AudioWeb\Queries, with the extension ".qry".  Enter a valid file name for the query, then press OK.  (Note: "%localappdata%" is a Windows shortcut that resolves to the local application data directory for the current logged-on user, e.g.
		 "C:\Users\marvin\AppData\Local\AudioWeb\Queries".)
	- To reload a saved query, use the "File Menu" button again, and select the menu item "Load...".  This shows a "Load Search Query File" dialog allowing you to select any previously created .qry file from the queries directory.  Select a query from this dialog to paste into the "Search query" text box, then press the green Search button to actually run the query.
	- If you have saved a query to a file as above, you can rename it using the "Rename" menu item.  Enter a new name for the query in the "Rename Query" dialog that appears, then press OK.
	- When the cursor is in the "Search query" text area, you can use the keyboard shortcut Control-S to save a modified query.  This will either just save the query, or bring up the "Save as..." dialog as appropriate.
	- You can remove a query file using the "Remove" menu item.  Predefined queries (see below) cannot be removed.

Why are some query names surrounded by angle brackets, e.g. <Very large books> in the "Query name" dropdown list?
	- There are several useful predefined sample queries provided in the "Query name" dropdown list; these also serve to demonstrate query syntax. Angle brackets around the query name are used to distinguish predefined search queries from queries that you write.  These include (among others):
•	<Very large books> - search for books with audio file size > 500 megabytes.
•	<Notes with unprintable characters> - search for books whose notes contain unprintable characters, resulting from having saved a unicode notes file as "ANSI" encoding instead of "UTF8" encoding.  Looks for the Unicode "replacement character" U+FFFD in the notes text.
•	 in the notes text.
•	<Books changed in last 7 days> - search for books modified in the last 7 days.
	- You can use these as written, or modify them to make your own queries.
	- Modified predefined queries cannot be saved as such; if you change a predefined query, select "Save as..." in the File Menu to save it to disk with a new name.
	- If you do not want to see the predefined queries in the list, open the AudioWeb Settings dialog and turn off "Show sample queries".

Once I have some search results, how can I navigate to a specific book?
	- Use fast keyboard search:   If you click on a line in any column of the results list corresponding to a text variable, you can find items by simply typing a sequence of characters to locate within the text of that column.  This will just move the current line in the list to the next matching entry.  You can also press the Alt key along with one of the up/down arrow keys to find the next or previous matching entry in the column.  The status line at the bottom of the view shows you the current search text.  Keyboard search is cancelled if no key has been pressed within 10 seconds, or if you press the escape key, or if you move to a different column.

I don't really want to see 1,000,000 results when I search!  Can I change this limit somehow?
	- The AudioWeb Settings dialog has a "Max search results" field which you can set to anything from 1 to 1,000,000.  When Search Books view has found this many results, the search will be terminated.

Is there a way to quickly navigate between Search Books View and the corresponding Book Details View?
	- You can use the "Book Details" button in Search Books View to navigate to the corresponding Book Details View.  The current book in the search results list will be selected in Book Details View.
	- You can use the "Search Books" button in Book Details View to navigate to the corresponding Search Books View.
	- You can use the keyboard combination Control+B to switch between the two views as well.

Splash Screen

What does the splash screen show?
	- AudioWeb version information.
	- License validation.
	- Starting the website.
	- The elapsed time for initialization of the program.

The splash screen is annoying!  Can I turn it off?
	- MollieSoft is deeply sorry that you do not appreciate our beautiful splash screen.  However, to mollify the occasional customer with a distaste for splash screens, we have provided a check box in the "Settings" dialog that you can use to turn the splash screen off.

Miscellaneous

The text in AudioWeb is too small for me to read comfortably; is there a way to make it bigger?
	- Yes; press the key combination Control+(Numpad-PLUS) to step the font size up, and Control+(Numpad-MINUS) to step it back down.  That is, hold down the Control key while pressing "+" or "-" on the numeric keypad.
	- There are four step sizes: small, medium, large, and extra large.  (These correspond to the Windows font point sizes 8.25, 9, 9.75, and 10.25 respectively.)
	- Of course, increasing the font size will make all the views and dialogs correspondingly larger, and decreasing it will make them smaller.
	- The new font size will be remembered whenever you re-open a view or dialog, or restart AudioWeb.
	- You can also set the font size using the Settings dialog.  Select the appropriate font-size radio button (small, medium, large, extra large); the new font size will be applied once you press OK.

What is the History Log?
	- Every time AudioWeb is started, a new History Log file is created in the directory 
		%localappdata%\AudioWeb\Logs.
(Just type the preceding into a Windows Explorer navigation bar to display the contents of this directory, or press the button "Explore Logs" above the History Log text area.)  The files are named using the format
		 AudioWebAdminLog.YYYYMMDD_hhmmss.log,
e.g. AudioWebAdminLog.20190417_143932.log is the file created 2019/04/17 at 14:39:32.  These files contain diagnostic information relevant to the operation of AudioWeb, and can be opened with Notepad.
	- The history log entries for the current program run are displayed at the bottom of the AudioWeb window.
	- At startup, the History Log will display the current AudioWeb version and license information, which users exist, which port is being used, and any errors encountered.
	- The History Log shows when a user logged in or logged out.
	- The "Explore Logs" button at the top right of the History Log will open a Windows Explorer, and navigate to the logs directory.

What else is in %localappdata%\AudioWeb?
	- This directory contains your license information.
	- The "WebSite" subdirectory contains the files required to run the AudioWeb website.
	- The "Config" subdirectory contains AudioWeb configuration files, which hold various AudioWeb program and user settings.
	- The "Logs" subdirectory contains AudioWeb log files (the current log file is what is shown in the History Log).
	- Never modify any file in this directory or any subdirectory, or the results will be "unpredictable".

What happens if I minimize AudioWeb?
	- When minimized, AudioWeb is only visible as an icon in the System Tray area.  Double-click the tray icon to restore the window.
	- If you close AudioWeb while minimized (using "Exit" on the right-click menu available on the tray icon), AudioWeb will remember that you prefer to start it minimized.

I am trying to install AudioWeb, and it says it cannot create the website.  Help!
	- If you are installing a new version of AudioWeb, and creating the website fails during initialization, wait 5 minutes, delete the directory "%localappdata%\AudioWeb\website", then rerun AudioWeb.  See the history log for details of the error.

When I try to login to AudioWeb, I get the error "Bad timestamp."  What's going on?
	- For security, the Windows computer running AudioWeb and the device running the web browser attempting the login should have roughly synchronized clocks (within about 1 minute of each other).  Check the time on your Windows computer running AudioWeb and make sure it is synchronized with an internet time server, or synchronize it manually to the same time as the device attempting the login.

Where do I send comments or suggestions about AudioWeb?
	- Email comments or suggestions to:
		support@molliesoft.com
	 or to
		molliesoft@comcast.net