INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: expression help - filtering out minor composers  (Read 2121 times)

Listener

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1084
expression help - filtering out minor composers
« on: August 14, 2006, 02:44:51 pm »

I ripped my classical music CD collection to Flac files, using the Composer tag in addition to the usual Album, Artist and Name tags. I had concise lists of composers until I got to about 100 disks with many short pieces by minor composers.  Now my Composers pane is cluttered with names that aren't relevant most of the time.  I have about 600 non-classical disks to go so I expect the Composer list to get more cluttered.

I'd like to set up a pane list that only listed major composers.  I can think of a couple of ways to do this but I imagine that some of the expression gurus can suggest better ways.  My ideas:

1. Copy the composer tags to another database field "Major Composers".  Blank all the names for minor composers.  Display "Major Composers" in the pane list rather than "Composers" 

Pros: should display quickly in a pane list. 

Con: a Very manual process that has to be repeated as new content is added.  Things can get lost if I make a mistake or fail to update the "Major Composer" field for new CDs..

2. Add a yes/no field that says whether the Composer value for this music file is a major one.  Use an expression to control what is displayed in the "Composers" pane.

Pros: Can be filled in when a CD is ripped.

Cons: Using an expression might be slower than just a database field.
Still manual. Things can get lost if I make a mistake.

I'd like to set the yes/no field once per composer and have it be assigned automatically to each music file (or used directly in the expression).  However,  what's visible to me about the library's conents is a record per music file.

I'd welcome any comments and suggestions.

Bill
Logged

darichman

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1362
Re: expression help - filtering out minor composers
« Reply #1 on: August 14, 2006, 10:56:01 pm »

Bill,

How about editing the view scheme to filter only a list of composers you want.

Ie right click a view scheme --> edit view scheme --> Pick files to show (step 4) --> Select Composer --> Tick the composers you deem as "Major"

And you're done! Would this achieve what you're after?
Logged

Listener

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1084
Re: expression help - filtering out minor composers
« Reply #2 on: August 15, 2006, 02:10:39 am »

Bill,

How about editing the view scheme to filter only a list of composers you want.

Ie right click a view scheme --> edit view scheme --> Pick files to show (step 4) --> Select Composer --> Tick the composers you deem as "Major"

And you're done! Would this achieve what you're after?

After some messing around, I think I understand what you are saying. 

- Click on the down arrow head on the (button?) under "Step 4..."

- Choose more fields and add Composer.

- In the dialog that appears, tick (check the checkbox) by the composers you want to include.

- Next to the prompt "Do what with the selections", choose "Include".

- Click on OK.

This appears to be just what I wanted.  I will have a single place to keep a list of major composers and I'll see only those composer's.  I did not know about the list mechanism at all.  You have moved me along quite a bit with a quick answer.

Bill
Logged

darichman

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1362
Re: expression help - filtering out minor composers
« Reply #3 on: August 15, 2006, 02:29:57 am »

Glad to help!

Sorry if I didn't explain myself that well :)
Logged

Listener

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1084
Re: expression help - filtering out minor composers
« Reply #4 on: August 15, 2006, 11:36:16 am »

Glad to help!

Sorry if I didn't explain myself that well :)

I supplied the details to make your explanation more useful to the next person.

----
I moved on to trying to define an expression for a pane that would display the name of each minor composer and display the phrase "Minor Composer" for all other composers.  I copied the expression that MC generated in the "Step 4 Pick files to show" area into an if() function like this

if( [Composer]= [Anderson, Leroy],...[Schumann], [Composer],Minor Composer)

It didn't work.  MC seemed to be adding the second and third arguments to the list.  So I messed around with parens.  Still no luck. I ntoiced that some of the Composer names has Parens and some had commas (i.e.  "Anderson,Leroy").  Those seemed to cause problems.  I removed the parnes fromk Composer names but I need the commas.

I think that some basic information about expression syntax and about the way that MC scans expressions would help.  JRiver should do that.

Bill


Logged

darichman

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1362
Re: expression help - filtering out minor composers
« Reply #5 on: August 15, 2006, 07:15:48 pm »

Check out http://www.jrmediacenter.com/DevZone/DBExpressions.htm

I think you have to add a "/" before any characters you want read as characters, and not expression language.

Logged

Listener

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1084
Re: expression help - filtering out minor composers
« Reply #6 on: August 15, 2006, 08:08:17 pm »

Check out http://www.jrmediacenter.com/DevZone/DBExpressions.htm

I think you have to add a "/" before any characters you want read as characters, and not expression language.


I have already been using the expression documentation page.  It really doesn't say anything about syntax or the details of evaluating an expression.

I understand the point about the / in front of a character to be treated as ordunary text.  However, the composer name is inside [] which is supposed to means that if the text inside the brackets isn't a field name, it is treated as plain text.

For now, I tried just removing the comma inside the Composer name.  However, I still have a problem with syntax.  Commas are used to separate items in a list and commas are used to separate arguments to functions.  However, there is nothing to mark the beginning and end of a list mentioned in the expressions documentation page.  So I tried parens to mark the beginning and end of the first argument to the if function.

Here is a simplified example of what I am using:

if(([Composer]=[Beethoven],[Berlin]),[Composer],Minor Composer)

In the Composer pane I see lines like this

,Beethoven,Minor Composer)

and

,Bizet,Minor Composer)

It appears that the if() function is consuming the first argument testing the Composer values against the list but BOTH the second and third arguments are being output.

By now, I've done a lot of messing around to undertsnad what's going on. I think my attempt to do construct this Major/Minor Composer pane is about at an end. 

Thanks again for your suggestion which is very useful to me.

Bill
Logged
Pages: [1]   Go Up