The "Tunes Search" is one of the two ways of getting to the actual tune content of this site, the other one being the Tunes Front Page (there are actually two different versions of it, which do the same sort of thing in different ways. I call these the 'fancy' and 'simple' forms, and you toggle between them using the "Search via simple/fancy form" button among the group at the top of the page). They allow you to specify conditions; pushing the 'Search' button then takes you to a list of all the tunes that match those conditions. If you go to this from an existing tune-list page (reached from one of the 'Browse tunes' or 'Browse collections' links on the "Front" page) it will select all matching tunes out of the list it started with. If you go to it from anywhere else, it will select from the whole database.

The way it works is that you can specify one, or several, things about a tune - using the listboxes and text-entry fields to indicate what you're interested in - and these combine together in various ways. If you select, for example, 2 values from the 'Country' listbox of the fancy form, you might be interested in tunes that are marked as coming from either of those countries, or you might only be interested in those that are marked as coming from both of them. Likewise, if you've selected one or more values for 'Country' and also indicated a particular word (or other pattern) for the title, you might want to pick the tunes only from one or all of the selected countries (as before) or you might want all tunes matching that title regardless of what country they're from. And then, having used these ideas to indicate a bunch of tunes, you might want to see a list of them, or you might want to hide them from a list and only see the ones that don't match that set of conditions.

After doing that, you have a screenful of choices for what you're interested in. This screenful is referred to as a 'filter', and you can have as many of them as you like. You will see them listed at the top of the screen, with buttons beside them, and the one you are currently editing picked out in green text. There isn't, at the moment, any choice of how to combine these together - they each pick some (or no) tunes out of the underlying list, and the result is the sum of these; 'match any filter', there's no 'match all' option yet (they're always OR'ed together). Nor can you pick some filters out and apply only them, it's all or nothing.

It may be easier to get a feel for how it works by just playing with it and seeing what happens than by reading any more explanations. It's easier to use than it is to explain.

Specifying values

This is all, I hope, moderately self-explanatory, except that some users may not be familiar with regular expressions.

Simple form

This is not configurable. The 'search header/body' field treats either/both of these as a single piece of text - if you want to look for values for particular fields, include the key for that field; ie, what you type looks like the ABC. It will accept multiple lines; each one will be treated separately, rather than searching for a single multi-line chunk.

Fancy form

The 'fancy' form is exceedingly configurable, allowing you to choose which fields you want displayed, how you want them laid out, and whether you want them treated as listboxes or type-it-yourself text. In the text fields here, don't type the key/fieldname, the form knows it already.

Known Bugs

A little techy note

The underlying database here is SQL, and people who are familiar with that will probably see what this is about; but I have no reason to assume that most users of this site will be, and even less to require that they should (that's what clever web-forms are *for*). If you do happen to be, however, you'll probably observe that you could construct queries that can't be expressed here. Tough, this is the best I've been able to imagine, contact me if you have a better idea.

Earlier versions of this allowed the direct input of a where clause, but I couldn't make it sit nicely with the rest of the code, so it's been withdrawn. It would be nice to have something like this, but don't hold your breath.