Help - Search - Members - Calendar
Full Version: Database Search
Hydrogenaudio Forums > Hosted Forums > foobar2000 > 3rd Party Plugins - (fb2k)
Pages: 1, 2, 3, 4, 5, 6, 7, 8
DaCypher
Awesome, love the new version...

Thanks again. smile.gif
ilikedirtthe2nd
QUOTE(foosion @ Oct 18 2003, 02:03 PM)
foo_dbsearch 0.11.4

- added hotkeys Shift-Enter (adds all items to the playlist) and Control-Enter (executes "Send to playlist..." with all items). use them in the input box.
- some general commands where moved to foo_utils:
  "Add to playlist", "Insert into playlist", "Send to playlist", "Play"

see this site for download links: http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/html/

great! thanks smile.gif
hermit22
This plugin's great. But a feature request: could you add an ability to search for a blank field? My mp3s are still kind of messy, so a lot of them are missing, say, an album name, or a genre. It would be really helpful if I could find all those at once.

Other than that, love it. Thanks!
DaCypher
QUOTE(hermit22 @ Oct 18 2003, 11:18 AM)
This plugin's great.  But a feature request: could you add an ability to search for a blank field?  My mp3s are still kind of messy, so a lot of them are missing, say, an album name, or a genre.  It would be really helpful if I could find all those at once.

Other than that, love it.  Thanks!

Actually, what I have been hoping to find somewhere (although probably not from this plugin since it seems outside the scope of what this plugin is about), is the ability to have almost direct database interaction. So you could, for example, define search strings for multiple fields at the same time. Or maybe even define your own custom queries.
kode54
Have you tried Extended Search? (database, exact match)
foosion
QUOTE(hermit22 @ Oct 18 2003, 09:18 PM)
This plugin's great.  But a feature request: could you add an ability to search for a blank field?  My mp3s are still kind of messy, so a lot of them are missing, say, an album name, or a genre.  It would be really helpful if I could find all those at once.

Other than that, love it.   Thanks!

Well, you can already do that, though you'll have to set up a filter expression in preferences first. As it is now, Extended Search can handle new searching scenarios better, since you don't have to open the preferences.
The instructions for searching tracks with missing album tags with Extended Search are as follows:
1) Set Format to "$if(%album%,,1)" (without the quotes).
2) Choose "boolean" from the dropdown box next to the Pattern field.
3) Set Search What to "Database" .
4) Hit Run.
foosion
QUOTE(hermit22 @ Oct 18 2003, 09:18 PM)
This plugin's great.  But a feature request: could you add an ability to search for a blank field?  My mp3s are still kind of messy, so a lot of them are missing, say, an album name, or a genre.  It would be really helpful if I could find all those at once.

Other than that, love it.   Thanks!

Search in database, set format to ... whatever, doesn't matter for this one. Set the filter mode to "match all" or "match" one (the dropdown box to the right of the pattern field). Now type "-%artist%" in the pattern field. Result shown: All items in database without an artist tag. Of course, to do this you first have to get:


foo_dbsearch 1.0.0

- removed user-defined filter
- removed search arguments (If you know what that is, don't worry, you won't miss it much.)
- the contents of the pattern field is only remembered when you press enter in this field.
- added various filter modes
- changed the UI a bit smile.gif

download link: plugin

Unfortunately, there's no updated documention yet, so I'll write something about the filter modes right here:

pass
The simplest mode. All items pass the test.

boolean
The same as in Extended search, only it uses the pattern field, if that is non-empty. If it is empty, it falls back to the format field.

match exact and match prefix
The pattern is matched verbatim against the result of running each item through the format given by the Format field. For "match exact" the two have to be exactly the same (ignoring character case), for "match prefix" the pattern has to be a prefix of the formatted string. In both cases an empty pattern does not match anything.

match all and match one
Probably the most interesting modes. The pattern is split into conditions. A condition is either:
1) a keyword: any string that does not start with one of +, -, ", or % and does not contain spaces.
Example:
CODE
bla

2) a quoted phrase: a string that starts with " (double quotes); ends at the next " or at the end of the pattern.
Example:
CODE
"bla bla"

3) a field condition: a string that starts with % (percent sign); ends at the next % or at the end of the pattern.
Example:
CODE
%field name%


Keywords and quoted phrases match, if their text is contained in the formatted string of an item.
A field condition matches, if a field with the given name exists. A field name starting with __ (two underscores) refers to an info field, any other field name refers to meta field. Special fields can not be matched with this.

A condition can be prefixed with + (plus sign) or - (minus sign) to turn it into a strong condition. Strong conditions must always be met, also in "match one" mode. +A is true, if A is true. -A is true, if A is false.

In "match all" mode, all conditions must be true.
In "match one" mode, all strong conditions must be true, and at least one of the weak conditions, if there is one.

Examples ("match one" mode):
CODE
a

CODE
+a

Matches all tracks where a is true.
CODE
+a b c

Matches all tracks where a is true and at least one of b and c.
ilikedirtthe2nd
themes you removed those hotkeys again, why? ohmy.gif

regards; ilikedirt
foosion
QUOTE(ilikedirtthe2nd @ Oct 19 2003, 10:48 PM)
themes you removed those hotkeys again, why?  ohmy.gif

regards; ilikedirt

This is a bug. To be fixed in v1.0.1.
foosion
foo_dbsearch 1.0.1

- made hotkeys work again
- "match exact" and "match prefix" now work as intended
- changed default filter mode to "match one"

download links:
plugin
mini SDK (for creating your own search domains and filter modes)
foosion
foo_dbsearch 1.0.2

- fixed behaviour of "match all" and "match one" when there are only strong conditions
- added prefix matching mode for field conditions ("match all" and "match one")

CODE
%prefix*
%prefix*%

Matches all files that have a meta field whose name starts with prefix. prefix may be the empty string, so "%*" only matches, if there are any meta fields at all.

CODE
%__prefix*
%__prefix*%

Matches all files that have a info field whose name starts with prefix. prefix may be the empty string, so "%__*" only matches, if there are any info fields at all.

Example:
CODE
-%__r*

Matches all files that have no info field whose name starts with r. With my set of files, this yields the same results as "-%__replaygain*".
DaCypher
Very cool new version. Couple issues though:

1) I still can't seem to get shift+enter and ctrl+enter to work (currently using v1.0.2).

2) The toggle quicklist option in the right-click menu doesn't seem to do anything anymore (I guess its not longer needed).
foosion
QUOTE
1)  I still can't seem to get shift+enter and ctrl+enter to work (currently using v1.0.2).

Catching presses of the enter key (and where they come from) is trickier than it seems. It worked for me and for ssamadhi97, who tested this feature on WinXP.

QUOTE
2)  The toggle quicklist option in the right-click menu doesn't seem to do anything anymore (I guess its not longer needed).

I forgot to remove that.
foosion
QUOTE
1)  I still can't seem to get shift+enter and ctrl+enter to work (currently using v1.0.2).

Did you try Shift+Enter and Control+Enter from the resultlist? Well, those hotkeys are only supposed to work from either the pattern field or one of the two dropdown listboxes. Was that your problem?
DaCypher
QUOTE(foosion @ Oct 20 2003, 11:40 AM)
QUOTE
1)  I still can't seem to get shift+enter and ctrl+enter to work (currently using v1.0.2).

Did you try Shift+Enter and Control+Enter from the resultlist? Well, those hotkeys are only supposed to work from either the pattern field or one of the two dropdown listboxes. Was that your problem?

Ahh, yea, I'm a dumbass. I must have been trying it while some other object was focused (still within the search window though, I'm not that stupid). smile.gif

Thanks for the insight...
foosion
QUOTE(DaCypher @ Oct 20 2003, 10:41 PM)
Ahh, yea, I'm a dumbass.  I must have been trying it while some other object was focused (still within the search window though, I'm not that stupid).  smile.gif

Thanks for the insight...

I didn't think of that immediately, and the thought that the current implementation would not work on every system was ... frustrating. headbang.gif
I'd better make those hotkeys work in the entire dialog for all those dumbasses out there (including me). At least until this plugin - some day - has fully configurable hotkeys (that one's on my personal wishlist). biggrin.gif

edit: Aaah, I can't spill!
Inc3pt
I have 1.0.2 and I noticed that the 'play' as default action was removed sad.gif Thats the only reason I would search, because I leave all of my music in the playlist...and then search and play. As requested somewhere earlier in the thread, just to be able to have it move the cursor to the file would be nice...and what about being able to hit enter, instead of having to double click? Those three implementations would make my life complete wub.gif
foosion
QUOTE
I have 1.0.2 and I noticed that the 'play' as default action was removed sad.gif Thats the only reason I would search, because I leave all of my music in the playlist...and then search and play.

As said above, the "Play" command (and some other general commands as well) have been moved into a separate plugin. Install that, too, and you can use "Play" again.
QUOTE
As requested somewhere earlier in the thread, just to be able to have it move the cursor to the file would be nice...and what about being able to hit enter, instead of having to double click? Those three implementations would make my life complete wub.gif

Hitting enter does not work for you? Please make sure that a default action is configured in preferences.
DaCypher
Is there a %var% that will include the full path or at least the directory name that the file is in? Currently I use %_filename% to search for songs that either don't have any tags or they are incorrect. It would be nice to be able to search in the directory name as well since it often contains the name of the album that the songs are in. Would it be possible to add a formatlist entry that would search in either the filename or the full path?
DaCypher
Ok, nevermind. %_path% works great. I guess I should search around before I start asking questions.... smile.gif
Inc3pt
QUOTE(foosion @ Oct 27 2003, 01:27 AM)
As said above, the "Play" command (and some other general commands as well) have been moved into a separate plugin. Install that, too, and you can use "Play" again.

Hitting enter does not work for you? Please make sure that a default action is configured in preferences.

Thank you so much, Im sorry I didnt read the thread carefully enough, and I love it now.

However, in reguards to pressing enter, it seems that when I type something into the search box, the focus is not on the window with the results. The most matched item is at the top of the list, and boxed in red, however, to get enter to work, I guess I have to focus the box, by clicking it once, where the background turns blue, and then I can hit enter...

(By the way, thank you for the quick replies biggrin.gif)
foosion
QUOTE(Inc3pt @ Oct 27 2003, 05:03 PM)
However, in reguards to pressing enter, it seems that when I type something into the search box, the focus is not on the window with the results. The most matched item is at the top of the list, and boxed in red, however, to get enter to work, I guess I have to focus the box, by clicking it once, where the background turns blue, and then I can hit enter...

(By the way, thank you for the quick replies biggrin.gif)

Pressing enter in the result list has a different meaning than pressing it in one of the other fields.

Result list:
- Enter: Run configured default action on selected items.

Other fields:
- Enter: Force results to be refreshed (useful if you disabled auto-refresh in prefs). Pattern is remembered.
- Shift+Enter: Add all results to playlist. [also works in result list in upcoming version]
- Control+Enter: Run "Send to playlist..." on all results. [also works in result list in upcoming version]

Perhaps I should take some time to update the readme. rolleyes.gif
Inc3pt
QUOTE(foosion @ Oct 27 2003, 07:16 AM)
Pressing enter in the result list has a different meaning than pressing it in one of the other fields.

Result list:
- Enter: Run configured default action on selected items.

Other fields:
- Enter: Force results to be refreshed (useful if you disabled auto-refresh in prefs). Pattern is remembered.
- Shift+Enter: Add all results to playlist. [also works in result list in upcoming version]
- Control+Enter: Run "Send to playlist..." on all results. [also works in result list in upcoming version]

Im sorry Im being a pain...sad.gif

I figured as much, about 'enter' having different functions depending on what was in focus, but the whole reason I use search is because I can bring foobar into focus, press the hotkey for search, type something in, and hit enter, and it doesnt the function...however, with the way things are setup, I have to click the resultlist box and hit enter, or double click, and I know it sounds like nagging over the tiniest amount of extra work, but my hands can move from keys to the enter key a million times faster than they can to the mouse, and then to click. I dont know C/C++ (Which is what Im guessing these plugins use, I did look at the mini-sdk)...otherwise I would make an attempt so that from the search field, I could have it do the resultlist action by pressing enter...but I cant. Is there anyway you could make this configurable or something in the next version? Like have a dropdown box for each field, and be able to choose like "From resultlists, enter does this" and "From search field, enter does this"...I know that might be alot of work, but Id really appreciate it...Is there any other way I could set it up? Or any chance you want to release me a special version tongue.gif just kidding...Anyway, any replies to this would be nice, even if its "no, no, and...no... dry.gif "...Thanks biggrin.gif
foosion
QUOTE(Inc3pt @ Oct 27 2003, 09:30 PM)
Im sorry Im being a pain...sad.gif

I figured as much, about 'enter' having different functions depending on what was in focus, but the whole reason I use search is because I can bring foobar into focus, press the hotkey for search, type something in, and hit enter, and it doesnt the function...however, with the way things are setup, I have to click the resultlist box and hit enter, or double click, and I know it sounds like nagging over the tiniest amount of extra work, but my hands can move from keys to the enter key a million times faster than they can to the mouse, and then to click. I dont know C/C++ (Which is what Im guessing these plugins use, I did look at the mini-sdk)...otherwise I would make an attempt so that from the search field, I could have it  do the resultlist action by pressing enter...but I cant. Is there anyway you could make this configurable or something in the next version? Like have a dropdown box for each field, and be able to choose like "From resultlists, enter does this" and "From search field, enter does this"...I know that might be alot of work, but Id really appreciate it...Is there any other way I could set it up? Or any chance you want to release me a special version tongue.gif just kidding...Anyway, any replies to this would be nice, even if its "no, no, and...no... dry.gif "...Thanks biggrin.gif

CODE
if (is_feature_request) while (true) printf("no.\n");

There's currently no way to set it up the way you want (neither through prefs nor the mini sdk), but as I mentioned some posts ago, I'd like to include fully configurable hotkeys some time. So unless you want to write the hotkey configuration for me, you'll have to wait patiently. ph34r.gif

If you don't want to use the mouse, you can try the tab key (for switching to the resultlist); selecting items in the resultlist works very much like selecting them in the playlist. I know that that's more than one key press, but hey... rolleyes.gif
BO(V)BZ
Would it be possible to add a 'Winamp' style search checkbox, where when you hit enter, it automatically jumps to the song at the top of the list and closes the search box, without having to click on the song and then close the box? That's the one small niggle I have with this plugin, otherwise it's great! It would just be nice to subtract a fwe keystrokes from to search for something. Thanks biggrin.gif ,

BO(V)BZ
Inc3pt
QUOTE(foosion @ Oct 27 2003, 12:07 PM)
CODE
if (is_feature_request) while (true) printf("no.\n");

There's currently no way to set it up the way you want (neither through prefs nor the mini sdk), but as I mentioned some posts ago, I'd like to include fully configurable hotkeys some time. So unless you want to write the hotkey configuration for me, you'll have to wait patiently. ph34r.gif

If you don't want to use the mouse, you can try the tab key (for switching to the resultlist); selecting items in the resultlist works very much like selecting them in the playlist. I know that that's more than one key press, but hey... rolleyes.gif

Like I said, I dont know C or I would gladly lend a hand as this plugin is amazing biggrin.gif I just tried tab, and it moves through every area 'except' the resultlist sad.gif I appreciate the thought though...I would use the original search, however, it can only use the filename tag, and not the directoryname tag...And thats why I wanted the configurable search, is because I dont mess with tags, so I just make sure each of my songs are named correctly, and in a seperate folder for each artist, and it looks really nice. However, as I said, the original search cant use the dirname as far as I know. Thats why I use db_search biggrin.gif ...Anyway, I guess Ill just have to use the mouse...sad.gif Thanks anyway though
foosion
Are you sure, that you can't tab to the resultlist? Cause it works here...
That would be one more thing to fix in the next release.
Inc3pt
QUOTE(foosion @ Oct 27 2003, 10:18 PM)
Are you sure, that you can't tab to the resultlist? Cause it works here...
That would be one more thing to fix in the next release.

I just tested once more and Im sure that I cant tab to the resultslist...In the sequence of tabs, it has one where no area is highlighted (Im guessing this is where the bug lies, in that its supposed to be the resultslist, but it doesnt highlight it, and Ive pressed enter and it doesnt do the configured action). I hope that helps with any bug information blink.gif

So as you stated before, you need a hotkey script to have it configure what does what, from what field?

I mean, couldnt you just have a small options window (Clickable, because theres probably not enough room) that has something like this:
SearchField:
-Enter: (Dropdown)
---Default configured action
---Send to playlist
---(Other options here)

And repeat, for each button (i.e. Ctrl+Enter, Shift+Enter), and then repeat, for each field...Or would that be too complex/too much work? sad.gif (Just giving suggestions biggrin.gif)
foosion
QUOTE(Inc3pt @ Oct 28 2003, 09:02 AM)
I just tested once more and Im sure that I cant tab to the resultslist...In the sequence of tabs, it has one where no area is highlighted (Im guessing this is where the bug lies, in that its supposed to be the resultslist, but it doesnt highlight it, and Ive pressed enter and it doesnt do the configured action). I hope that helps with any bug information  blink.gif

The resultlist always shows which of its items is focused, so you can only tell whether it has the focus by looking at the other controls. If none of the others has the focus, then the resultlist has it. Pressing enter does not work in your situation, because no item is selected initially. You can toggle the selection of single items by pressing the space key.

QUOTE
So as you stated before, you need a hotkey script to have it configure what does what, from what field?

I mean, couldnt you just have a small options window (Clickable, because theres probably not enough room) that has something like this:
SearchField:
-Enter: (Dropdown)
---Default configured action
---Send to playlist
---(Other options here)

And repeat, for each button (i.e. Ctrl+Enter, Shift+Enter), and then repeat, for each field...Or would that be too complex/too much work? sad.gif (Just giving suggestions biggrin.gif)

I envision a config dialog similiar to foobar's default hotkey configuration, but with the ability to set the scope of hotkeys, i.e. works in all fields, only resultlist, etc.
Looking at BO(V)BZ's request gave me the idea to make the whole behaviour of this dialog exchangeable (like playback orders). Well, we'll see about that.
Rasi
hmmm what i really would like to see would be an option, that simply plays the doubleclicked entry in the now open playlist.... instead of inserting it or asking where to put it..
foosion
QUOTE(Rasi @ Oct 28 2003, 01:06 PM)
hmmm what i really would like to see would be an option, that simply plays the doubleclicked entry in the now open playlist.... instead of inserting it or asking where to put it..

Set default action to "Play" (implemented in foo_utils).
Rasi
dont know what you mean with foo_utils, but play is not an option in default action....

http://rasi.homeip.net:66/ugh.png
foosion
QUOTE(Rasi @ Oct 28 2003, 02:00 PM)
dont know what you mean with foo_utils, but play is not an option in default action....

http://rasi.homeip.net:66/ugh.png

foo_utils contains various general commands. You can get it from my site.
Rasi
right... works perfect, thanks tongue.gif

strange "foo_utils" cant be found with forum search (exception: this thread :,)
Inc3pt
QUOTE(foosion @ Oct 28 2003, 01:16 AM)
The resultlist always shows which of its items is focused, so you can only tell whether it has the focus by looking at the other controls. If none of the others has the focus, then the resultlist has it. Pressing enter does not work in your situation, because no item is selected initially. You can toggle the selection of single items by pressing the space key.

I envision a config dialog similiar to foobar's default hotkey configuration, but with the ability to set the scope of hotkeys, i.e. works in all fields, only resultlist, etc.
Looking at BO(V)BZ's request gave me the idea to make the whole behaviour of this dialog exchangeable (like playback orders). Well, we'll see about that.

Okay, just tested that and it works...Although thats..*two* more buttons I have to press tongue.gif. Alright, well that helps a little bit...Although your hotkey idea sounds really good. On a side note, what are the strings that can be used for the default search in foobar? Is there a list, because I think I looked but couldnt find anything?
tonderai
is there a way to add/send all the files in the results list to the current playlist?

i always used to use this in foo_shizzle [for 0.6] to pick out entire genres from the database, and frankly i'm lost without it wink.gif
foosion
QUOTE(tonderai @ Nov 1 2003, 10:13 PM)
is there a way to add/send all the files in the results list to the current playlist?

i always used to use this in foo_shizzle [for 0.6] to pick out entire genres from the database, and frankly i'm lost without it wink.gif

Please read this post (it's about one page up).
anza
Go to the plugins' preferences and set default action for example to "send to playlist...".

@foosion: Oh, I had missed those features smile.gif
anza
edit: hmmm.. how did this come as second post, even though I used the "edit" button ohmy.gif
tonderai
QUOTE(foosion @ Nov 1 2003, 08:17 PM)
QUOTE(tonderai @ Nov 1 2003, 10:13 PM)
is there a way to add/send all the files in the results list to the current playlist?

i always used to use this in foo_shizzle [for 0.6] to pick out entire genres from the database, and frankly i'm lost without it wink.gif

Please read this post (it's about one page up).

ooops i missed that wink.gif thanks anyway for your help!
DaCypher
Big fan of the new version... Thanks again...
pruuat
Great plugin, much appreciated.

But, I've always assigned a global key to dbsearch and in the past when foo was minimized to tray I could hit the key and search would pop up foreground to use. Now however using version 1.03 with foobar .73a, it stays minimized until I re-focus to foobar altogether.

What changed? The old behavior was great and I would really appreciate restoring it.

Thanks for the great plugin.
foosion
QUOTE(pruuat @ Nov 12 2003, 05:27 AM)
What changed? The old behavior was great and I would really appreciate restoring it.

The activation of the dbsearch window works just like before, so I don't know. Try pressing that hotkey twice, this works for me.
DaCypher
Ok, after using this for a while now (because its really a damn cool plugin), I've come up with a few things that I think would be kinda cool...

1) I have the default action set to Play (via foo_utils). I was wondering if it would be possible to have Play add the song to the current playlist if it doesn't already exist. I'm not sure if this is feasible, but would be handy for me.

2) I would really like to be able to drag/drop results of a search into a playlist.

3) If drag/drop support is too much of a pain in the ass, could you possibly add support for foo_copynpaste to foo_dbsearch (or add support for foo_dbsearch in foo_copynpaste, however it works)? smile.gif

Thanks again for the awesome plugin.
pruuat
QUOTE(foosion @ Nov 12 2003, 03:03 AM)
QUOTE(pruuat @ Nov 12 2003, 05:27 AM)
What changed? The old behavior was great and I would really appreciate restoring it.

The activation of the dbsearch window works just like before, so I don't know. Try pressing that hotkey twice, this works for me.

Thanks. Pressing the key twice works.

(Didn't realize you had replied, autonotification was apparently broken for a while.)
foosion
1) I'll think about adding this to foo_utils as a new command ("add & play").

2) Me too. smile.gif

3) Not sure what there is to add. If you have the commands from foo_copynpaste (copy/collect locations) in your contextmenu, you can already copy results from the search window and add them to the playlist (paste/insert locations).
DaCypher
QUOTE(foosion @ Dec 12 2003, 10:25 AM)
3) Not sure what there is to add. If you have the commands from foo_copynpaste (copy/collect locations) in your contextmenu, you can already copy results from the search window and add them to the playlist (paste/insert locations).

Oh I see... I have disabled the copy/paste stuff in the context menu because I just use keyboard shortcuts (Ctrl+C = copy), but the keyboard shortcuts don't seem to work in the foo_dbsearch window... Is there a workaround for this?
picmixer
Download link on your page seems to be broken. I get the following error:

QUOTE
Forbidden

You don't have permission to access /~uzbs/fb2k/foo_dbsearch/foo_dbsearch-1.1.zip on this server.


Thanks for all the work. Really like most of your plugins and foosion pack has become a must have in my components folder.
foosion
QUOTE(DaCypher @ Dec 12 2003, 09:22 PM)
Oh I see... I have disabled the copy/paste stuff in the context menu because I just use keyboard shortcuts (Ctrl+C = copy), but the keyboard shortcuts don't seem to work in the foo_dbsearch window...  Is there a workaround for this?

No, currently not. I'll have to implement my own keyboard shortcut system.

New features in 1.1.0
New predicates in "match all" and "match one" modes:
CODE
%field%=value
%field%~value
%field%<value
%field%>value

fieldshould be the name of a tech info field prefixed with two underscores or the name of metadata field. Value can be single word or a phrase in double quotes. The different operators have the following meaning:
  • = (equals): Field contents and value must match exactly.
  • ~ (contains): field must contain value.
  • < (less than): field must be less than value.
  • > (greater than): field must be greater than value.
< and > use natural ordering, so "a2" < "a11". All operators ignore character case. In the case of a metadata field, it is sufficient, if there is one field that satisfies the condition. The new predicates can also be prefixed with + or -.

@picmixer: Thanks for the hint. File permissions were b0rked.
Gul
feature request : would it be possible to implement a quick-search from the context menu? eg. "Search db for this %artist%" and stuff like that?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.