Involved People Node v1.3 (2009-09-01) [MM3]
-
- Posts: 185
- Joined: Mon Aug 14, 2006 4:26 pm
- Location: Gotland, Sweden
Involved People Node v1.3 (2009-09-01) [MM3]
A new version is being developed by SimonORorke here: http://www.mediamonkey.com/forum/viewto ... =2&t=56275
Description:
Involved People Node adds an involved people node (D'oh!). The involved people field must use the mask "Role1: Name1; Role2: Name2" OR "Role1:Name1;Role2:Name2". The node now support filters.
Download:
Version 1.3
InvolvedPeopleNode.mmip
What is new:
v1.3: September 1, 2009
- Added support for filters.
- Fixed: Problem with sql.
v1.2: August 31, 2009
- Fixed: Error handling. The script doesn't quit if an involved people field uses the incorrect mask.
- Fixed: Showing tracks from names that are part of another name, for example "Contrabass" and "Bass".
- Changed: Involvement and Involvee to Role and Person.
v1.1: August 29, 2009
- Added: "By involvement" and "by involvee"
- Fixed: Mask needed less strict.
v1.0: August 29, 2009
- Added Involved People Node
- Created MMIP Installation Pack
Installation:
Just double click on the InvovledPeople.mmip file; if you are on Vista make sure you have MM3 set to "Run as Administrator"; if you downloaded the installation package with IE7 and it changed its extension to a .zip, you should first change it back to a .mmip.
Description:
Involved People Node adds an involved people node (D'oh!). The involved people field must use the mask "Role1: Name1; Role2: Name2" OR "Role1:Name1;Role2:Name2". The node now support filters.
Download:
Version 1.3
InvolvedPeopleNode.mmip
What is new:
v1.3: September 1, 2009
- Added support for filters.
- Fixed: Problem with sql.
v1.2: August 31, 2009
- Fixed: Error handling. The script doesn't quit if an involved people field uses the incorrect mask.
- Fixed: Showing tracks from names that are part of another name, for example "Contrabass" and "Bass".
- Changed: Involvement and Involvee to Role and Person.
v1.1: August 29, 2009
- Added: "By involvement" and "by involvee"
- Fixed: Mask needed less strict.
v1.0: August 29, 2009
- Added Involved People Node
- Created MMIP Installation Pack
Installation:
Just double click on the InvovledPeople.mmip file; if you are on Vista make sure you have MM3 set to "Run as Administrator"; if you downloaded the installation package with IE7 and it changed its extension to a .zip, you should first change it back to a .mmip.
Last edited by k_r_eriksson on Tue Sep 01, 2009 3:23 pm, edited 6 times in total.
-
- Posts: 2283
- Joined: Tue Aug 29, 2006 1:09 pm
- Location: Kansas City, Missouri, United States
Re: Involved People Node v1.0 (2009-08-29) [MM3]
Dude! Dude! Awesome! *downloads*
I don't know if it's by design or not, but the functionality seems a little limited. I tested a file, entering "Vocals:Tech N9ne;Vocals:Big Scoob;Vocals:Messy Marv" in the IP field. Happy to then see a "Vocals" node, and have it open up and see those three names listed. However, clicking on the Vocals node, the test track appears in the Main Window as expected. However, clicking on the sub nodes (the names), nothing is added to the main window.
I figured I'd throw it out there as something to think about. A while back, I put up this post where I called for some improvements in the MM IP field, as well as a built in IP node. In it, I tossed around the idea of the node containing two sub nodes, which would allow you to browse either by name (so you can find a person, and then have sub-nodes showing their roles, as opposed to having to look for someone via their roles). This something that might be possible to accomplish?
EDIT: Nevermind on that first bit. Turns out it's because I didn't put spaces between the roles, names and such. Though, is it at all possible to handle a "Role:Name" the same was as you might "Role: Name"?
I don't know if it's by design or not, but the functionality seems a little limited. I tested a file, entering "Vocals:Tech N9ne;Vocals:Big Scoob;Vocals:Messy Marv" in the IP field. Happy to then see a "Vocals" node, and have it open up and see those three names listed. However, clicking on the Vocals node, the test track appears in the Main Window as expected. However, clicking on the sub nodes (the names), nothing is added to the main window.
I figured I'd throw it out there as something to think about. A while back, I put up this post where I called for some improvements in the MM IP field, as well as a built in IP node. In it, I tossed around the idea of the node containing two sub nodes, which would allow you to browse either by name (so you can find a person, and then have sub-nodes showing their roles, as opposed to having to look for someone via their roles). This something that might be possible to accomplish?
EDIT: Nevermind on that first bit. Turns out it's because I didn't put spaces between the roles, names and such. Though, is it at all possible to handle a "Role:Name" the same was as you might "Role: Name"?
-
- Posts: 185
- Joined: Mon Aug 14, 2006 4:26 pm
- Location: Gotland, Sweden
Re: Involved People Node v1.0 (2009-08-29) [MM3]
New version!!!
v1.1: August 29, 2009
- Added: "By involvement" and "by involvee"
- Fixed: Mask needed less strict.
@Mizery_Made
This version should give you what you want. It uses
I also made it handle "Role:Name" the same way it handles "Role: Name".
v1.1: August 29, 2009
- Added: "By involvement" and "by involvee"
- Fixed: Mask needed less strict.
@Mizery_Made
This version should give you what you want. It uses
Code: Select all
| Involved People
| \_ By Involvement
| \_ Drums
| \_ Rob Bourdon
| \_ Mark "C-Bass" Causley
| \_ Travis Barker
| \_ Guitar
| \_ Brad Delson
| \_ Dave "Phoenix" Farrell
| \_ Michael Scott
| \_ Phil Thacker
| \_ Slash
| \_ Keyboard
| \_ Mike Shinoda
| \_ Turntables
| \_ Joe Hahn
| \_ Tom Sawyer
| \_ Vocals
| \_ Chester Bennington
| \_ Mike Shinoda
| \_ Powerdise
| \_ By Involvee
| \_ Brad Delson
| \_ Guitar
| \_ Chester Bennington
| \_ Vocals
| \_ Dave "Phoenix" Farrell
| \_ Guitar
| \_ Joe Hahn
| \_ Turntables
| \_ Mark "C-Bass" Causley
| \_ Drums
| \_ Michael Scott
| \_ Guitar
| \_ Mike Shinoda
| \_ Keyboard
| \_ Vocals
| \_ Phil Thacker
| \_ Guitar
| \_ Powerdise
| \_ Vocals
| \_ Rob Bourdon
| \_ Drums
| \_ Slash
| \_ Guitar
| \_ Tom Sawyer
| \_ Turntables
| \_ Travis Barker
| \_ Drums
-
- Posts: 374
- Joined: Sat Feb 02, 2008 1:09 pm
- Location: Texas
Re: Involved People Node v1.1 (2009-08-29) [MM3]
Great script.
I get an error on trying to expand the "By Involvee" node. Subscript Out of Range: '[number: 1]' - on line 194. Putting in an "On Error Resume Next" statement at the beginning of the procedure lets it work.
Also, my MusicBrainz Tagger script can fill the Involved People with entries like : "Instrument-DrumMachine Synthesizer: Alan Parsons; Instrument-Bass: David Paton; Instrument-Additional Drums: Stuart Elliott; Instrument-Guitars: Ian Bairnson". Could you enhance your script to split the involvement at the '-' into sub-nodes?
I get an error on trying to expand the "By Involvee" node. Subscript Out of Range: '[number: 1]' - on line 194. Putting in an "On Error Resume Next" statement at the beginning of the procedure lets it work.
Also, my MusicBrainz Tagger script can fill the Involved People with entries like : "Instrument-DrumMachine Synthesizer: Alan Parsons; Instrument-Bass: David Paton; Instrument-Additional Drums: Stuart Elliott; Instrument-Guitars: Ian Bairnson". Could you enhance your script to split the involvement at the '-' into sub-nodes?
Code: Select all
| Involved People
| \_ By Involvement
| \_ Instrument
| \_ Additional Drums
| \_ Stuart Elliott
| \_ Bass
| \_ David Paton
| \_ DrumMachine Synthesizer
| \_ Alan Parsons
| \_ Guitars
| \_ Ian Bairnson
-
- Posts: 2283
- Joined: Tue Aug 29, 2006 1:09 pm
- Location: Kansas City, Missouri, United States
Re: Involved People Node v1.1 (2009-08-29) [MM3]
Great update. I think the fact it can now handle entries with spaces and not gives the user a little more flexibility in what they determine "looks best" or is "easiest to enter." I love the addition of the Name tree, as I think it would be useful to find a person and see everything you've got for them, as opposed to going by Role. Go through the tree and find a person who normally does one role, open it up to see another and can be all, "Oh! I forgot about him doing this on that track, sweet! " You know? Haha.
You might play around with the names of the nodes a little though. I just tossed those two in as the only thing that came to mind at the time. "By Role" & "By Person" might work just as well, without sounding all... yeah. Up to you though, doesn't really effect the functionality or anything, just a cosmetic matter.
Oh, and I'm not getting an error like you are, One. While it also might be interesting to be able to further 'group' involvements, I'm not sure "-" would be a good choice for a splitter. Though, seeing as those roles are put there by MusicBrainz, you surely don't want to have to go through and convert the "-" to some other character for them to work, and you also run into the trouble of "Well we could use this character"... "But then it could get in the way of this entry." Haha. Only thing that jumps to mind though would be where someone is credited as a "Co-" something. *Shrugs*
You might play around with the names of the nodes a little though. I just tossed those two in as the only thing that came to mind at the time. "By Role" & "By Person" might work just as well, without sounding all... yeah. Up to you though, doesn't really effect the functionality or anything, just a cosmetic matter.
Oh, and I'm not getting an error like you are, One. While it also might be interesting to be able to further 'group' involvements, I'm not sure "-" would be a good choice for a splitter. Though, seeing as those roles are put there by MusicBrainz, you surely don't want to have to go through and convert the "-" to some other character for them to work, and you also run into the trouble of "Well we could use this character"... "But then it could get in the way of this entry." Haha. Only thing that jumps to mind though would be where someone is credited as a "Co-" something. *Shrugs*
-
- Posts: 185
- Joined: Mon Aug 14, 2006 4:26 pm
- Location: Gotland, Sweden
Re: Involved People Node v1.1 (2009-08-29) [MM3]
You get an error when an involved people is missing the ":". It can turn up on three or four places. I'll have to rewrite some of the code. "On Error Resume Next" dosen't solve all of them.
I like Involvement and Involvee. Role and Person is also good. Allmusic calls it Credits and Name. I don't care that much so what do you think?
I can try to split the involvement at "-" into sub-nodes but first I like to ask you how to handle it.
"Instrument-Bass" will split into 3rd lvl "Instrument" and 4th lvl "Bass".
If no "Instrument-Keyboard" exist I'll put "Keyboard" as a 3rd lvl node
Where should I put "Bass"? As a 3rd lvl "Bass" or together with the 4th lvl "Bass"? If I put is as 3rd lvl I get Bass in two places. If I put it in 4th lvl I can turn up with Bass in lvl 4 and Keyboard in lvl 3 (if no instrument-keyboard exist). I can remove the instrument part and put "Instrument-Bass" as a 3rd lvl node "Bass". But that is no good too. And then we have the "Co-" problem. What do you think???
I like Involvement and Involvee. Role and Person is also good. Allmusic calls it Credits and Name. I don't care that much so what do you think?
I can try to split the involvement at "-" into sub-nodes but first I like to ask you how to handle it.
"Instrument-Bass" will split into 3rd lvl "Instrument" and 4th lvl "Bass".
If no "Instrument-Keyboard" exist I'll put "Keyboard" as a 3rd lvl node
Where should I put "Bass"? As a 3rd lvl "Bass" or together with the 4th lvl "Bass"? If I put is as 3rd lvl I get Bass in two places. If I put it in 4th lvl I can turn up with Bass in lvl 4 and Keyboard in lvl 3 (if no instrument-keyboard exist). I can remove the instrument part and put "Instrument-Bass" as a 3rd lvl node "Bass". But that is no good too. And then we have the "Co-" problem. What do you think???
-
- Posts: 374
- Joined: Sat Feb 02, 2008 1:09 pm
- Location: Texas
Re: Involved People Node v1.1 (2009-08-29) [MM3]
Yeah - I started thinking about those concerns after I posted my request. Since there are multiple possibilities, I'm not sure what to suggest.
As I was checking though, I did come across one thing. I have only one track with just Bass in it (as opposed to Instrument-Bass):
If I click on the Node for Bass though, it shows 46 files - it gets all of the tracks that have "Instrument-Bass:xxxx" as well as just "Bass:xxx". Expanding the Bass node shows the one Artist node for Steven Gustafson and clicking on him shows just the one track as it should.
As I was checking though, I did come across one thing. I have only one track with just Bass in it (as opposed to Instrument-Bass):
Code: Select all
Bass: Steven Gustafson
-
- Posts: 2283
- Joined: Tue Aug 29, 2006 1:09 pm
- Location: Kansas City, Missouri, United States
Re: Involved People Node v1.1 (2009-08-29) [MM3]
Regarding the naming of the nodes, I think it just might be a little problematic at times to have those two node names so close. "By Involvee" & "By Involvement," know what I mean? They also don't really look/sound as "user friendly" as a "By Role"/"By Person" set-up might for instance. Though I guess "Involvee" & "Involvement" fit, since it's the "Involved Person" node, haha. Like I said though, it's really just a minor thing, what's important is the functionality.
-
- Posts: 374
- Joined: Sat Feb 02, 2008 1:09 pm
- Location: Texas
Re: Involved People Node v1.1 (2009-08-29) [MM3]
BTW- not that this isn't a great script - but you can also do it with MagicNodes...
Plus a few others:
Code: Select all
<Group|Name:Involved...>\Involved People-Role\<Involved people|Split by::|Statistic:Count(All)|Unknown:No>\<Involved people|Right of::|Right until:;>
Code: Select all
<Group|Name:Involved...>\Involved People-Person\<Involved people|Right of::|Right until:;>\<Involved people|Split by::|Statistic:Count(All)|Unknown:No>
Code: Select all
<Group|Name:Involved...>\Lyricists\<Lyricist|Statistic:Count(Tracks)|Unknown:No>\<Title>
Code: Select all
<Group|Name:Involved...>\Composers\<Composer|Statistic:Count(Tracks)|Unknown:No>\<Title>
Code: Select all
<Group|Name:Involved...>\Conductors\<Conductor|Statistic:Count(All)|Unknown:No>\<Album>\<Title>
-
- Posts: 185
- Joined: Mon Aug 14, 2006 4:26 pm
- Location: Gotland, Sweden
Re: Involved People Node v1.1 (2009-08-29) [MM3]
First it exist a composer and a conductor node. No need for MagicNodes. Second you can't do this with MN not the way I want it. The two nodes you added here only add the first person involved. Involved People = "Bass:Michael Green;Drums:James Green". MN adds Michael and ignores James. I want them all. You can do better nodes with MN. One for each type of role or one for each person but that means a lot of nodes and MN can't handle two of the same role in one involved people field anyway. In one of my tracks I have two different choirs in involved people. The "right of" finds the first one and skips the second. Involved People = "Orchestra: London Symphony Orchestra; Choir: London Symphony Chorus; Choir: London Welsh Male Voice Choir; Choir Master: Stephen Westrop". MN adds "London Symphony Chorus" and ignores "London Welsh Male Voice Choir".onenonymous wrote:BTW- not that this isn't a great script - but you can also do it with MagicNodes...Code: Select all
<Group|Name:Involved...>\Involved People-Role\<Involved people|Split by::|Statistic:Count(All)|Unknown:No>\<Involved people|Right of::|Right until:;>
Plus a few others:Code: Select all
<Group|Name:Involved...>\Involved People-Person\<Involved people|Right of::|Right until:;>\<Involved people|Split by::|Statistic:Count(All)|Unknown:No>
Code: Select all
<Group|Name:Involved...>\Lyricists\<Lyricist|Statistic:Count(Tracks)|Unknown:No>\<Title>
Code: Select all
<Group|Name:Involved...>\Composers\<Composer|Statistic:Count(Tracks)|Unknown:No>\<Title>
Code: Select all
<Group|Name:Involved...>\Conductors\<Conductor|Statistic:Count(All)|Unknown:No>\<Album>\<Title>
I LOVE MN and use it a lot but this time it wasn't enough. That's the reason I made this script. For me it works just the way I want (with a few exceptions). It's tricky to handle all mask possibilities. I don't think I can so I think I will leave it as it with 3 levels as it is now. I'm working on the error handling and the problem with names beeing part of other names "Bass" and "Contrabass" for example.
-
- Posts: 374
- Joined: Sat Feb 02, 2008 1:09 pm
- Location: Texas
Re: Involved People Node v1.1 (2009-08-29) [MM3]
k_r_eriksson wrote:The two nodes you added here only add the first person involved. Involved People = "Bass:Michael Green;Drums:James Green". MN adds Michael and ignores James. I want them all.
Did I mention "great script"...k_r_eriksson wrote:I LOVE MN and use it a lot but this time it wasn't enough. That's the reason I made this script. For me it works just the way I want (with a few exceptions). It's tricky to handle all mask possibilities. I don't think I can so I think I will leave it as it with 3 levels as it is now. I'm working on the error handling and the problem with names beeing part of other names "Bass" and "Contrabass" for example.
Re: Involved People Node v1.1 (2009-08-29) [MM3]
Not now, but most probably with the next version. It would allow additional level(s) which I like in CATraxx (band member, guest musician, production) and it would work with any field, not only Involved people, e.g. Grouping, Custom1-5...onenonymous wrote:you can also do it with MagicNodes...
By the way, k_r_eriksson really made a great script.
● Magic Nodes 4.3.3 / 5.2 ● RegExp Find & Replace 4.4.9 / 5.2 ● Invert Selection/Select None 1.5.1 ● Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1 ● Expand Child Nodes/Expand All 1.1.2 ● Event Logger 2.7 ● Filtered Statistics Report 1.6 ● Track Redirection & Synchronization 3.4.2 ● Restore/Synchronize Database 3.1.8 / 4.0.1 ● Find Currently Playing Track 1.3.2 ● Queue List 1.2.1 ● Add to Library on Play 1.0.1 ● Tree Report for Child Nodes 1.1.1 ● Update Location of Files in Database 1.4.5 / 2.3 ● Inherit Child Playlists 1.0.3 ● Add Currently Playing/Selected Track(s) to Playlist 1.2
-
- Posts: 185
- Joined: Mon Aug 14, 2006 4:26 pm
- Location: Gotland, Sweden
Re: Involved People Node v1.1 (2009-08-29) [MM3]
Thanks Mizery, One and ZvezdanD. It pleases me that you like the script. I have one problem thou. If a sql statement includes an "é" I get an error.
Error executing SQL... Songs.InvolvedPeople LIKE '%:Orchestre De l'Opéra National De Lyon' OR.... : near "Opéra"
Error executing SQL... Songs.InvolvedPeople LIKE '%:Orchestre De l'Opéra National De Lyon' OR.... : near "Opéra"
-
- Posts: 185
- Joined: Mon Aug 14, 2006 4:26 pm
- Location: Gotland, Sweden
Re: Involved People Node v1.2 (2009-08-31) [MM3]
New version!
v1.2: August 31, 2009
- Fixed: Error handling. The script doesn't quit if an involved people field uses the incorrect mask.
- Fixed: Showing tracks from names that are part of another name, for example "Contrabass" and "Bass".
- Changed: Involvement and Involvee to Role and Person.
Known problems: Unicode problem, for example "é"
v1.2: August 31, 2009
- Fixed: Error handling. The script doesn't quit if an involved people field uses the incorrect mask.
- Fixed: Showing tracks from names that are part of another name, for example "Contrabass" and "Bass".
- Changed: Involvement and Involvee to Role and Person.
Known problems: Unicode problem, for example "é"
Re: Involved People Node v1.1 (2009-08-29) [MM3]
You don't have a problem because of Unicode characters, but because you have non-escaped single apostrophe. You should replace every string variable used in SQL queries with e.g.k_r_eriksson wrote:I have one problem thou. If a sql statement includes an "é" I get an error.
Error executing SQL... Songs.InvolvedPeople LIKE '%:Orchestre De l'Opéra National De Lyon' OR.... : near "Opéra"
Code: Select all
Replace(strCaption1, "'", "''")
● Magic Nodes 4.3.3 / 5.2 ● RegExp Find & Replace 4.4.9 / 5.2 ● Invert Selection/Select None 1.5.1 ● Export/Create Playlists for Child Nodes 4.1.1 / 5.4.1 ● Expand Child Nodes/Expand All 1.1.2 ● Event Logger 2.7 ● Filtered Statistics Report 1.6 ● Track Redirection & Synchronization 3.4.2 ● Restore/Synchronize Database 3.1.8 / 4.0.1 ● Find Currently Playing Track 1.3.2 ● Queue List 1.2.1 ● Add to Library on Play 1.0.1 ● Tree Report for Child Nodes 1.1.1 ● Update Location of Files in Database 1.4.5 / 2.3 ● Inherit Child Playlists 1.0.3 ● Add Currently Playing/Selected Track(s) to Playlist 1.2