A New Search Syntax

This article describes the new search syntax introduced in WinCue 2.0.

Note: Since WinCue 2.0 hasn’t been released yet (and by the looks of things, it’s going to take a little while longer until it’s stable enough for a public release), this post may seem completely pointless at this time. However, I thought it might be a good idea to write down how this stuff is supposed to work before I forget it. Also, it may turn out to be useful documentation in the future. Who knows…

Oh, yeah, and if you have any suggestions or complaints about the syntax, please let me know.

Basic Searches

As before, the simplest way to search is just to type in in whatever you’re looking for:

madonna

This will match all items where any of the default fields (filename (with or without path, depending on configuration), artist, title and album) contains the text “madonna”, ignoring case (i.e. it will match both “Madonna” and “madonna”).

If you want to be more specific, you can include multiple search terms:

michael jackson

This will match all songs where one or more of the default fields contain the text “michael” and one or more of them contain the text “jackson” (implied logical AND).

This is pretty much how search has been working in WinCue since the very beginning, so nothing new there, really.

However, a new feature is the support for exact phrase matches using double quotes:

“lene marlin”

This will match any items where any of the default fields contain the full phrase “lene marlin”.

Boolean Searches

In addition, it’s now also possible to use ‘+’ and ‘-’ to include and exclude search terms:

+michael -bolton

This will match anything where the default fields contain the text “michael” but not the text “bolton”. Note that the ‘+’ is optional as it is assumed when no prefix is given.

To indicate that you are looking for either of a set of words or phrases (logical OR), you can separate them with ‘,’:

ozzy,”black sabbath”,metallica

This will match all items where any of the default fields contain the text “ozzy”, “black sabbath” or “metallica”. Note that there must be no spaces before or after the commas. For people who are familiar with Spotify’s search syntax, it’s also possible to use ‘/’ instead of ‘,’ to separate words and phrases.

Field-Specific Searches

To make more detailed searches, you can specify which fields to match:

artist:madonna title:remix

This will match all items where the artist field contains the text “madonna” and the title field contains the text “remix”. Note that there must be no spaces between before or after the ‘:’ that separates the field name and the search words.

Since the track and year fields are numbers, they also allow specifying ranges:

genre:pop year:1980-2000

This will search for songs categorized as “pop” from the time period between 1980 and 2000.

It’s also possible to search for multiple tracks, years and ranges in a compact way:

artist:”rolling stones” year:1965-1975,1983 -year:1969

This will find songs by Rolling Stones released between 1965 and 1975, or in 1983, but not those released in 1969.

Fields and Values

The metadata fields supported by WinCue 2.0 (so far) are filename (including path), pathname (excluding filename), basename (filename excluding path), artist, album, title, comment, genre, track and year.

Note that genre is a free text field in ID3v2 and APE tags (and, I’m guessing, also Ogg Vorbis comments) and thus does not have any standard values. Fortunately, the ID3v1 genres are somewhat standardized and documented.

Comments (3)

Cleaning Up the Mess

After nearly a year of procrastination and avoiding to make up my mind, I finally decided what to do about WinCue. As of last week I’ve picked up the project from the trash and started working on it again. I’m not going to make any promises, but for now I’m focusing on making it (more) compatible with Winamp 5—including support for new skins. I’m also removing old features that are no longer relevant and doing some general code cleanup to make maintenance easier.

As some of you may have noticed, www.wincue.org was down for a very, very long time. The reason being that my previous web host basically abandoned me, and I neglected to do anything about it. The site is back up on SourceForge.net hosting now, which should be more reliable (although still quite buggy and often very slow). Maybe, one day, if I’m bored and in a good mood, I will make a new site.

If anyone is interested in following the development progress, I set up a backlog on SourceForge.net to keep track of the stuff I’m currently working on. I also did some cleaning up in the bug tracker and feature request tracker. Feel free to add feature requests, but I’m not going to care about bug reports from 1.x for now.

If you are reading this you probably also figured out that I now have a separate blog for WinCue. The idea is to keep it (somewhat) up-to date with what’s happening. Anyway, that’s enough rambling for now. Let’s get back to coding…

Comments (2)

On the Future of WinCue

For historical and technical reasons, this blog post is located elsewhere:

http://blog.looplabel.net/2008/05/09/on-the-future-of-wincue/

Comments off