Page 4 of 28

Posted: Thu Jan 24, 2008 10:14 am
by spacefish
Works now! Thank you! :)

Posted: Thu Jan 24, 2008 10:24 am
by nynaevelan
Ok we're back in business, thanks for the quick fix. :P

Nyn

New release with powerful custom captions

Posted: Fri Jan 25, 2008 5:37 pm
by sbondi
Just uploaded a new release with powerful custom captions, so now the caption can hold custom counts and values with custom text. I have added "easyCaption" with an initial set, but there are no limits - display average song length per node, disk space used per node, total minutes per node, average bitrate per node, etc. I will add more easyCaptions after I get some feedback on what is useful.

IMPORTANT NOTE: This release requires the following changes to any existing .INI files:

1. "level": remove ":DESC" and add new next line as "levelSortOrder=descending"
2. "trackCriteria": rename all vbscript markers from "#VB#" to "[vb]" (case sensitive)
3. "displayTrackCount", "displayNodeCount", and "ignoreTopLevelCounts": replace with:
-- "customCaption=..." -or-
-- "easyCaption=WithTrackCount" -or-
-- "easyCaption=WithNodeAndTrackCounts" -or-
-- "levelEasyCaption=WithTrackCount" under the highest level to ignore top node counts

If you send me a Private Message with your .INI, I will quickly convert it for you.

Re: New release with powerful custom captions

Posted: Sat Jan 26, 2008 4:43 am
by spacefish
sbondi wrote:Just uploaded a new release with powerful custom captions, so now the caption can hold custom counts and values with custom text.
Sounds cool!
If you send me a Private Message with your .INI, I will quickly convert it for you.
Wow, you are officially awesome. Thanks so much. :D

Even more power!

Posted: Sat Jan 26, 2008 11:24 pm
by sbondi
With the new design of the script and power of SQLite, it is still pretty easy to quickly add lots of power while carefully avoiding performance degradation!

Two powerful things added:

1. You can now append "customCaptions" and "easyCaptions" (like "trackCriteria" and "easyCriteria") to create many combinations of "easyCaptions" to suit your needs; for example:

easyCaption=WithTrackCount
easyCaption=AndAverageSongLength
easyCaption=AndTotalDiskSpaceUsed

2. You can now insert a new sort criteria for a level, instead of just the level value (descending or ascending): levelCustomSort and levelEasySort (none defined yet).

-----

In addition,
-- added "Bitrate" level
-- fixed "Rating" level issue with empty nodes
-- added more "easyCaptions" (for "And..." appending)
-- added option to "refreshCurrentNode"

Also, see [IMPORTANT] regarding consistency changes that may affect any existing .INI files

Enjoy!

Steve

Patch for an exception in release

Posted: Sun Jan 27, 2008 12:51 am
by sbondi
Posted an update to the release for an exception that Nyn found with DateAdded and LastTimePlayed levels.

Performance research

Posted: Sun Jan 27, 2008 11:53 am
by sbondi
Nyn has noticed significantly slower performance when using the custom/easyCaption and/or the levelCustomSort in various situations. I will research these cases and see what can be done.

However, these features do have to be used carefully. As noted in the Readme, if you have lots of tracks and they go unfiltered into a level that will produce lots of nodes (hundred/thousands) and you have included counts on them (especially nodeCounts), then this will have unreasonable performance. In addition, the Artist/PrimaryArtist/GuestArtist fields come with a bit of overhead, so avoid producing lots of nodes for those levels.

Rule of thumb: try it first, and if it is slow (for me, more than 2 seconds), then reconsider nodeCounts and other customCaption features. Also, consider using the AlbumArtist field instead of the Artist field in these "slow" cases.

Major performance improvements for customCaptions ...

Posted: Sun Jan 27, 2008 2:36 pm
by sbondi
... I found lots of redundancy in the customCaption design that was just overkill designed to fully support session refreshes.

In the next day or so, I will release an update with significant performance improvements for customCaptions. Thanks for your patience.

New performance release!

Posted: Wed Jan 30, 2008 12:18 am
by sbondi
Nyn tested it, and it's a whole lot faster! From 6 minutes for some customCaptions to a few seconds (most things under a second)!

Sorry for some more .INI generalizations/rewording, but there should not be any more of these after this release. As a consolation, Private Message me your .INI file and I will quickly convert it for you.

Posted: Wed Jan 30, 2008 2:39 am
by cadmanmeg
First version I downloaded this ran fine, but now, I get a ton of errors upon starting MM3. Things like:

unidentified node parameter - level 1
unidentified node parameter - level 2
unidentified node parameter - display node count
etc....

Am using the ini file you provided upon another users request so I am not sure if that is my issue or not. Copied and saved it as mycustomnodes.vbs and then put that vbs file and the ini file into the auto folder of MM3.

Anyone else have this issue? What could be causing this?

Thanks much.

Posted: Wed Jan 30, 2008 2:40 am
by cadmanmeg
This has happened with the most current version as well.

Posted: Wed Jan 30, 2008 6:51 am
by nynaevelan
It sounds like you are using an earlier ini file with a later vbs file. You may have some features in your ini that have been changed with the latest code. Your best bet is to PM Sboni your ini file, he'll quickly convert over you nodes to the new format. Or you can look through the Readme file on the first page, it outlines all the changes to the format.

Nyn

Posted: Wed Jan 30, 2008 10:27 am
by sbondi
cadmanmeg wrote:First version I downloaded this ran fine, but now, I get a ton of errors upon starting MM3. Things like:

unidentified node parameter - level 1
unidentified node parameter - level 2
unidentified node parameter - display node count
etc....

Am using the ini file you provided upon another users request so I am not sure if that is my issue or not. Copied and saved it as mycustomnodes.vbs and then put that vbs file and the ini file into the auto folder of MM3.

Anyone else have this issue? What could be causing this?

Thanks much.
Nyn, I believe cadmanmeg is using the version of your .INI file that you posted. It would be great if you could post your latest .INI file (with the last changes) for cadmanmeg and everyone else's benefit. Thanks :D

Posted: Wed Jan 30, 2008 11:01 am
by nynaevelan
Here is a copy of my latest ini using the latest version of the script, please ignore the "Testing Purposes" node because that is the one I use when I want to create a new node:

Code: Select all

[Options] 
unknownCaption="[Unknown]" 
defaulticon="Title" 
defaultsortLike="None" 
refreshWithTracksConvertedOrRipped=0
refreshWithTracksChanged=0
refreshCurrentNode=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=Mood
expandAtStartup=1 

;------------------------------------------------------------------------ 

[Testing Purposes] 
icon=CDCase 
sortLike=Title 
level=Playlist
level=Album
LevelEasyCaption=BaseCaptionAndTrackCount
level=Artist
trackCriteria="(ID <> '')" 
parent="Personal Node" 

;------------------------------------------------------------------------ 

[Additions] 
icon=Title 
parent="Personal Node" 

;------------------------------------------------------------------------ 

[Added Today] 
icon=Quality 
sortLike=Genre 
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(DateAdded AS Integer) = 0)" 
parent="Additions" 

[Added Yesterday] 
icon=Preview
sortLike=Genre 
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(DateAdded AS Integer) = 1)" 
parent="Additions" 

[Added in Last 7 Days] 
icon=Album
sortLike=Album
hideifempty=1 
level=Artist
levelEasyCaption=BaseCaptionAndNodeCount
level=Album
easyCriteria=addedwithinthelast7days
parent="Additions" 

[Date Added] 
icon=Year 
sortLike=Genre 
level=Genre 
level=DateAdded
levelEasyCaption=BaseCaptionAndTrackCount
levelSortOrder=descending
trackCriteria="(ID <> '')" 
parent="Additions" 

[Date Added by Genre] 
icon=Genre 
sortLike=Genre 
level=DateAdded
levelSortOrder=descending
level=Genre 
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="(ID <> '')" 
parent="Additions" 

[Date Added by Genre/Artist] 
icon=Artist 
sortLike=Artist 
level=DateAdded
levelSortOrder=descending
level=Genre 
level=Artist 
level=Title
trackCriteria="(ID <> '')" 
parent="Additions" 

;------------------------------------------------------------------------ 

[Album Info] 
icon=Album
parent="Personal Node" 

;------------------------------------------------------------------------ 

[Compilation Albums] 
icon=MultipleArtistAlbum
sortLike=Title
level=Genre
trackCriteria="(GroupDesc <> '')" 
parent="Album Info"

[Guest Artists] 
icon=Artist 
sortLike=Artist 
level=GuestArtist 
level=AlbumArtist 
level=Album 
easyCriteria=WithGuestArtist 
parent="Album Info" 

[Primary Artists] 
icon=Artist 
sortLike=Artist 
level=PrimaryArtist 
level=GuestArtist 
level=AlbumArtist_Album_Title 
easyCriteria=WithGuestArtist 
parent="Album Info" 

[Featured On Not Empty] 
icon=CD
sortLike=Artist 
easyCaption=BaseCaptionAndTrackCount
level=Custom2
level=Title 
trackCriteria="(Custom2 <> '')" 
parent="Album Info" 

[Secondary Albums] 
icon=AlbumArt
sortLike=Artist 
easyCaption=BaseCaptionAndTrackCount
level=Album
LevelEasyCaption=BaseCaption
trackCriteria="(Custom3 <> '')" 
parent="Album Info" 

[Ratings] 
icon=Rating
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
level=Rating
LevelEasyCaption=BaseCaptionAndTrackCount
level=Genre
LevelEasyCaption=BaseCaption
levelSortOrder=descending
trackCriteria="((round(Rating/10)*0.5) > 0)" 
parent="Album Info" 

[Released This Year] 
icon=Preview
sortLike=Album
hideifempty=1 
refresh=1
easyCaption=BaseCaptionAndTrackCount
level=Artist
LevelEasyCaption=BaseCaption
level=Album
LevelEasyCaption=BaseCaption
easyCriteria=ReleasedThisYear
parent="Album Info" 

[Released In The Last Year] 
icon=Year
sortLike=Album
refresh=1
hideifempty=1 
refresh=1
easyCaption=BaseCaptionAndTrackCount
level=Artist
LevelEasyCaption=BaseCaption
level=Album
LevelEasyCaption=BaseCaption
easyCriteria=ReleasedWithinTheLastYear
parent="Album Info"

;------------------------------------------------------------------------ 

[Edits] 
icon=FilesToEdit 
parent="Personal Node" 

;------------------------------------------------------------------------ 
[Comments] 
icon=Artist 
sortLike=Artist 
easyCaption=BaseCaptionAndNodeCount
hideifempty=1 
refresh=1
trackCriteria="(Comment <> '')" 
parent="Edits" 

[Missing Album] 
icon=MusicCD 
sortLike=Artist 
easyCaption=BaseCaptionAndNodeCount
hideifempty=1 
refresh=1
trackCriteria="(Album = '')" 
parent="Edits" 

[Missing BPM] 
icon=Album 
sortLike=Artist 
easyCaption=BaseCaptionAndNodeCount
hideifempty=1 
refresh=1
trackCriteria="(BPM = -1)" 
parent="Edits" 

[Missing Disc Number] 
icon=MusicCD 
sortLike=Artist 
easyCaption=BaseCaptionAndNodeCount
hideifempty=1 
refresh=1
trackCriteria="(DiscNumber = '')" 
parent="Edits" 

[Missing Involved People] 
icon=Artist 
sortLike=Artist 
easyCaption=BaseCaptionAndNodeCount
hideifempty=1 
refresh=1
trackCriteria="(InvolvedPeople = '')" 
parent="Edits" 

[Missing Lyrics] 
icon=Album 
sortLike=Artist 
easyCaption=BaseCaptionAndTrackCount 
hideifempty=1 
refresh=1
level=Genre 
trackCriteria="(Lyrics = '')" 
parent="Edits" 

[Missing Track Number] 
icon=MusicCD 
sortLike=Artist 
easyCaption=BaseCaptionAndNodeCount
hideifempty=1 
refresh=1
trackCriteria="(TrackNumber = '')" 
parent="Edits" 

;------------------------------------------------------------------------ 

[Play Info] 
icon=NowPlaying
parent="Personal Node" 

;------------------------------------------------------------------------ 

[New For Review] 
icon=Preview
sortLike=Title 
easyCaption=BaseCaptionAndTrackCount
level=Genre
level=Title 
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(DateAdded AS Integer) <= 5 AND PlayCounter=0)" 
trackCriteria="(Genre <> 'Audiobook')"
parent="Play Info"

[Last Time Played] 
icon=CDCase 
sortLike=Title
level=LastTimePlayed
levelEasyCaption=BaseCaptionAndTrackCount
levelSortOrder=descending
trackCriteria="(PlayCounter > 0)" 
parent="Play Info" 

[Never Played] 
icon=NowPlaying
sortLike=Genre 
level=Genre 
levelEasyCaption=BaseCaptionAndTrackCount
level=Artist 
trackCriteria="(PlayCounter=0)" 
parent="Play Info" 

[Played Today] 
icon=MusicCD
sortLike=Genre 
level=Genre 
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(LastTimePlayed AS Integer) = 0)"   
parent="Play Info" 

[Played Yesterday] 
icon=VirtualCD
sortLike=Genre 
level=Genre 
easyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(LastTimePlayed AS Integer) = 1)"    
parent="Play Info" 

[Played in Last 7 Days] 
icon=Album
sortLike=Album
easyCaption=BaseCaptionAndTrackCount
level=Genre
easyCriteria=playedinthelast7days
parent="Play Info" 

[Played in Last 7 Days/Least Played] 
icon=Album
sortLike=Album
easyCaption=BaseCaptionAndTrackCount
level=Genre
easyCriteria=playedinthelast7days
trackCriteria="(PlayCounter between 1 and 9)" 
parent="Play Info" 

[Played in Last 30 Days] 
icon=Album
sortLike=Album
easyCaption=BaseCaptionAndTrackCount
level=Genre
easyCriteria=playedinthelast30days
parent="Play Info"

[Played Less Than 5 Times] 
icon=Tempo
sortLike=Genre 
level=PlayCount 
level=Genre 
level=Title 
trackCriteria="(PlayCounter between 1 and 5)" 
parent="Play Info" 

[Play Counts] 
icon=Year
sortLike=Genre 
level=PlayCount
levelSortOrder=descending
trackCriteria="(PlayCounter > 0)" 
parent="Play Info" 

[Track Counts/Minutes by Top Artists] 
icon=Artist
sortLike=Title 
level=AlbumArtist 
levelCustomCaption="<caption> ([select]sum(PlayCounter) [select] Plays AND [select]CAST ((sum(SongLength)/1000.0/60.0) AS Integer)[select] mins)"
levelCustomSort="sum(PlayCounter) DESC" 
trackCriteria="(PlayCounter > 5)"
parent="Play Info" 

;------------------------------------------------------------------------ 

[Playlist Info] 
icon=Playlist 
parent="Personal Node" 

;------------------------------------------------------------------------ 

[Songs In Playlist] 
icon=Quality 
sortLike=Title 
level=Artist 
LevelCustomCaption="<caption> (<trackcount+>)"
level=Playlist 
LevelEasyCaption=BaseCaption
trackCriteria="exists (select * from PlaylistSongs where IDSong=songs.ID)" 
parent="Playlist Info" 

[Playlist Totals] 
icon=Occasion
sortLike=Title 
level=Playlist 
LevelCustomCaption="<caption> (<trackcount+> Songs/[select]CAST ((sum(SongLength)/1000.0/60.0) AS Integer)[select] Mins.)"
trackCriteria="exists (select * from PlaylistSongs where IDSong=songs.ID)" 
parent="Playlist Info" 

[Songs Not In Playlist] 
icon=Title
sortLike=Title 
level=Genre 
LevelCustomCaption="<caption> (<trackcount+>)"
level=Artist 
LevelEasyCaption=BaseCaption
trackCriteria="not exists (select * from PlaylistSongs where IDSong=songs.ID)" 
parent="Playlist Info" 

;------------------------------------------------------------------------ 
[Genre Played Info] 
icon=Genre
parent="Personal Node" 

;------------------------------------------------------------------------ 

[HipHop Ratings] 
icon=Rating
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
level=Rating
levelSortOrder=descending
trackCriteria="(PlayCounter > 0 AND Genre = 'HipHop' AND (round(Rating/10)*0.5) > 2)" 
parent="Genre Played Info" 

[Pop Ratings] 
icon=Occasion
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
level=Rating
levelSortOrder=descending
trackCriteria="(PlayCounter > 0 AND Genre = 'Pop' AND (round(Rating/10)*0.5) > 2)" 
parent="Genre Played Info" 

[Slow Jam Ratings] 
icon=Mood
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
level=Rating
levelSortOrder=descending
trackCriteria="(PlayCounter > 0 AND Genre = 'Slow Jams' AND (round(Rating/10)*0.5) > 2)" 
parent="Genre Played Info" 

[Soundtrack Ratings] 
icon=Quality
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
level=Rating
levelSortOrder=descending
trackCriteria="(PlayCounter > 0 AND Genre = 'Soundtracks' AND (round(Rating/10)*0.5) > 2)" 
parent="Genre Played Info" 

[TV Tribute Ratings] 
icon=CD 
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
level=Rating
levelSortOrder=descending
trackCriteria="(PlayCounter > 0 AND Genre = 'TV Tributes' AND (round(Rating/10)*0.5) > 2)" 
parent="Genre Played Info" 
Every since I started using this script I no longer use the MM nodes except for my specific Files To Edit Nodes, but then I never used them anyway. With this script and MM3's Filter Views, I see MM the way I want to see it. :P 8) :P

Nyn

Minor update

Posted: Thu Jan 31, 2008 12:06 am
by sbondi
Just posted a minor update to fix the only outstanding bug reported: Playlist, Artist, PrimaryArtist, and GuestArtist levels were not using levelSortOrder.