Page 1 of 28
Easy/fast nested nodes & FilesToEdit hiding (09Nov08)
Posted: Sun Jan 13, 2008 7:05 pm
by sbondi
UPDATED 09-Jan-2011
I have not updated this script in over 2 years, and it seems like it does not work well with the latest versions of MediaMonkey. Thus, I am removing all download links.
Posted: Sun Jan 13, 2008 8:01 pm
by nynaevelan
This is fantasic, now I do not have to wade through files to edit nodes which I do not use and I can minimize some of my MNs. Thank you!!
Nyn
Check out the latest changes
Posted: Fri Jan 18, 2008 3:38 am
by sbondi
See link in revised original post
More additions
Posted: Sat Jan 19, 2008 11:22 am
by sbondi
Added lots more stuff (displayNodeCount, ignoreTopLevelCounts, etc.)
Posted: Sat Jan 19, 2008 12:29 pm
by nynaevelan
This is a very cool script, it allows me the ability to add nodes in an organizational manner which I love and the enhancements keep getting better an better. This in conjunction with Magic Nodes makes my Monkey an awesome Audio program. Here is an example what I've been using your script for, I have a few more in the "Edits" section but since I do not have any tracks with the search criteria they are being hidden.
Keep up the good work.
Nyn
Posted: Sat Jan 19, 2008 2:33 pm
by spacefish
Does this script have the capability to add say, an Unknown Lyrics node to Files to Edit, among other things?
And nynaevelan, how did you get Files to Edit shortened to Edits? I'd very much like to change the names on many of my nodes but haven't found a way to do that. What script/plugin are you running that allows you to do that, if any?
Thanks!
Posted: Sat Jan 19, 2008 4:20 pm
by sbondi
spacefish wrote:Does this script have the capability to add say, an Unknown Lyrics node to Files to Edit, among other things?
And nynaevelan, how did you get Files to Edit shortened to Edits? I'd very much like to change the names on many of my nodes but haven't found a way to do that. What script/plugin are you running that allows you to do that, if any?
Thanks!
Yes, you can create your own parent nodes, and then put custom nodes under them. Or, you can put your own custom nodes (like "Unknown Lyrics") under the existing "Files to Edit" node. You can also hide any existing FileToEdit subnodes, add your own under "FilesToEdit", and have "FilesToEdit" open as expanded at Startup (if you want). It is really easy with the .ini file. Check out the sample .ini file to get a feel about how you can hide existing FilesToEdit nodes, create new custom parent nodes, add custom nodes to your parents, add custom nodes to FilesToEdit, always expand any desired nodes at Startup, and include caption counts in nodes (like "Unknown Lyrics") which can hide themselves when no tracks meet their criteria.
Let me know if you have any questions in configuring it to your needs.
Also, nynaevelan did not display FilesToEdit in that particular screen shot. "Edits" is a custom parent that she created herself.
Posted: Sat Jan 19, 2008 4:40 pm
by spacefish
Thanks for the reply. Sounds very cool. Going to try it out in the morning when my brain is fresh.
Posted: Sat Jan 19, 2008 4:56 pm
by dreadlyone
nynaevelan, can you post up your "ini" file? I like what you did and want to see how you did it. I understand a little on how to build and customize the ini file, but I think that if I saw yours, I would get a better handle on it.
Thanks in advance.
Posted: Sat Jan 19, 2008 7:14 pm
by nynaevelan
dreadlyone wrote:nynaevelan, can you post up your "ini" file? I like what you did and want to see how you did it. I understand a little on how to build and customize the ini file, but I think that if I saw yours, I would get a better handle on it.
Thanks in advance.
Sure here is a copy of my .ini file:
Code: Select all
[Options]
unknownCaption="[Unknown]"
defaultIcon="Title"
defaultSortLike="None"
refreshWithTracksConvertedOrRipped=1
refreshWithTracksChanged=1
;------------------------------------------------------------------------
[Library]
expandExisting=1
checkExistingChildren=1
[Files to Edit]
expandExisting=0
checkExistingChildren=1
[Unclassified Tracks]
checkExistingChildren=1
;------------------------------------------------------------------------
[Duplicate Titles]
hideExisting=1
[Unknown Title]
hideExisting=1
[Unknown Artist]
hideExisting=1
[Unknown Album]
hideExisting=1
[Unknown Rating]
hideExisting=1
[Unknown Genre]
hideExisting=1
[Unknown Year]
hideExisting=1
[Unknown Occasion]
hideExisting=1
[Multiple Artist Albums]
hideExisting=1
[Unknown Album Art]
hideExisting=1
;------------------------------------------------------------------------
[Personal Node]
icon=Rating
expandAtStartup=1
;------------------------------------------------------------------------
[Library Additions]
icon=Title
parent="Personal Node"
[Added Today]
icon=Year
sortLike=Genre
level1=Genre
displayTrackCount=1
trackCriteria="((CAST(#VB#CDbl(Now)#VB# AS Integer)) - CAST(DateAdded AS Integer) = 0)"
parent="Library Additions"
[Added Yesterday]
icon=Year
sortLike=Genre
level1=Genre
displayTrackCount=1
trackCriteria="((CAST(#VB#CDbl(Now)#VB# AS Integer)) - CAST(DateAdded AS Integer) = 1)"
parent="Library Additions"
[Date Added]
icon=Year
sortLike=Genre
displayTrackCount=1
level1=DateAdded:DESC
level2=Genre
trackCriteria="(ID <> '')"
parent="Library Additions"
[Date Added by Genre]
icon=Genre
sortLike=Genre
level1=DateAdded:DESC
level2=Genre
displayNodeCount=0
displayTrackCount=1
trackCriteria="(ID <> '')"
parent="Library Additions"
[Date Added by Genre/Artist]
icon=Artist
sortLike=Artist
level1=DateAdded:DESC
level2=Artist
level3=Genre
level4=Title
displayNodeCount=0
displayTrackCount=1
trackCriteria="(ID <> '')"
parent="Library Additions"
;------------------------------------------------------------------------
[Playlist Info]
icon=Title
parent="Personal Node"
[Songs In Playlist]
icon=Playlist
sortLike=Title
displayTrackCount=1
level1=Artist
level2=Playlist
level3=Title
trackCriteria="exists (select * from PlaylistSongs where IDSong=songs.ID)"
parent="Playlist Info"
[Playlist Totals]
icon=Playlist
sortLike=Title
displayNodeCount=0
displayTrackCount=1
level1=Playlist
trackCriteria="exists (select * from PlaylistSongs where IDSong=songs.ID)"
parent="Playlist Info"
[Songs Not In Playlist]
icon=Playlist
sortLike=Title
displayTrackCount=1
level1=Genre
level2=Artist
trackCriteria="not exists (select * from PlaylistSongs where IDSong=songs.ID)"
parent="Playlist Info"
;------------------------------------------------------------------------
[Edits]
icon=Title
parent="Personal Node"
[Additional Albums]
icon=Album
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
level1=Genre
level2=Title
trackCriteria="(Custom3 <> '')"
parent="Edits"
[Comments]
icon=Artist
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
trackCriteria="(Comment <> '')"
parent="Edits"
[Composer Not Empty]
icon=Artist
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
level1=Title
trackCriteria="(Author <> '')"
parent="Edits"
[Featured On Not Empty]
icon=Album
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
level1=Genre
level2=Title
trackCriteria="(Custom2 <> '')"
parent="Edits"
[Missing BPM]
icon=Album
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
trackCriteria="(BPM = -1)"
parent="Edits"
[Missing Disc Number]
icon=MusicCD
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
trackCriteria="(DiscNumber = '')"
parent="Edits"
[Missing Involved People]
icon=Artist
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
trackCriteria="(InvolvedPeople = '')"
parent="Edits"
[Missing Lyrics]
icon=Album
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
level1=Genre
level2=Title
trackCriteria="(Lyrics = '')"
parent="Edits"
[Missing Track Number]
icon=MusicCD
sortLike=Artist
displayTrackCount=1
hideWhenEmpty=1
trackCriteria="(TrackNumber = '')"
parent="Edits"
;------------------------------------------------------------------------
[Play Info]
icon=Title
parent="Personal Node"
[New For Review]
icon=Playlist
sortLike=Title
displayNodeCount=1
displayTrackCount=1
level1=Artist
level2=Playlist
level3=Title
trackCriteria="((CAST(#VB#CDbl(Now)#VB# AS Integer)) - CAST(DateAdded AS Integer) <= 5 AND PlayCounter=0)"
parent="Play Info"
[Never Played]
icon=MusicCD
sortLike=Genre
displayNodeCount=1
displayTrackCount=1
level1=Genre
level2=Artist
level3=Title
trackCriteria="(PlayCounter=0)"
parent="Play Info"
[Played Today]
icon=MusicCD
sortLike=Genre
displayNodeCount=1
displayTrackCount=1
level1=Genre
trackCriteria="((CAST(#VB#CDbl(Now)#VB# AS Integer)) - CAST(LastTimePlayed AS Integer) = 0)"
parent="Play Info"
[Played Yesterday]
icon=MusicCD
sortLike=Genre
displayNodeCount=1
displayTrackCount=1
level1=Genre
trackCriteria="((CAST(#VB#CDbl(Now)#VB# AS Integer)) - CAST(LastTimePlayed AS Integer) = 1)"
parent="Play Info"
[Played Less Than 5 Times]
icon=MusicCD
sortLike=Genre
displayNodeCount=1
displayTrackCount=1
level1=Played
level2=Genre
level3=Title
trackCriteria="(PlayCounter between 1 and 5)"
parent="Play Info"
[Play Counts]
icon=MusicCD
sortLike=Genre
displayTrackCount=1
level1=Played:DESC
level2=Title
trackCriteria="(PlayCounter > 0)"
parent="Play Info"
[Played Artists]
icon=MusicCD
sortLike=Genre
displayNodeCount=1
displayTrackCount=1
level1=Artist
level2=DESC:Played
trackCriteria="(PlayCounter>0)"
parent="Play Info"
;------------------------------------------------------------------------
Also, here is what my custom Files To Edit Node looks like, I have hidden all the features which I do not use. I use
Bex's Tagging Inconsistensies Script for most of my editing needs.
Nyn
Posted: Sun Jan 20, 2008 12:58 am
by spacefish
Thanks, nyn. That's very helpful.
Posted: Sun Jan 20, 2008 3:45 am
by spacefish
Just installed this with the default .ini and I can already see how powerful it is. I can't wait to dig in and customize it to my taste. Thanks so much!
Posted: Sun Jan 20, 2008 4:21 am
by sbondi
spacefish wrote:Just installed this with the default .ini and I can already see how powerful it is. I can't wait to dig in and customize it to my taste. Thanks so much!
That is great to hear
FYI, I just uploaded a new version to the link above that supports a whole lot more icon types and includes a new "easyCriteria" feature to help with pre-defined SQLite criteria. You can get a good idea how it is used, since the new default .INI file uses "easyCriteria" instead of "trackCriteria" for most custom nodes.
Posted: Sun Jan 20, 2008 4:39 am
by spacefish
Question: Is there a way to exclude items from a criteria?
For example, the Fix 'Artists' node looks for artists with / in the name. This inevitably brings AC/DC and DJ /rupture although it's not necessary to fix those artists. The slashes are part of the name.
Posted: Sun Jan 20, 2008 4:49 am
by sbondi
spacefish wrote:Question: Is there a way to exclude items from a criteria?
For example, the Fix 'Artists' node looks for artists with / in the name. This inevitably brings AC/DC and DJ /rupture although it's not necessary to fix those artists. The slashes are part of the name.
I store them as "AC-DC", so I have no "Artists" with / in them, and thus, if there are any that pop up, this was from an old convention that slipped in from FreeDB or someplace instead of the correct ";" convention.
In any case, that is just the way I do it. What would you define as your problem criteria? If it is no / with a space on each side, then the "trackCriteria" would be:
"(Artist = '') OR (Artist LIKE '% / %') OR (Artist LIKE '% %')"
Notice the space on each side of the /.
Or if you like the original criteria and just want to exclude those 2 exceptions:
"(Artist = '') OR ((Artist LIKE '%/%') AND (Artist <> 'AC/DC') AND (Artist <> 'DJ /rupture')) OR (Artist LIKE '% %')"