New Search/Autoplaylist Selection Script
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
New Search/Autoplaylist Selection Script
Hello Scripters:
I have a request for a new script which involves the searching function as well as the autoplaylist selection sets. The way MM is now it is very limited. For instance, when searching using the classification fields there is no option for "is not" or "contains", also for the date fields there is no option for either a "is not", "contains" or "date ranges". I would like to know if it is possible to create a search script that would include these options? And if so, is anyone up for the challenge? I am trying to get into more autoplaylists but I cannot create them based on the criteria which I need. Am I reaching for the stars?
Nyn
I have a request for a new script which involves the searching function as well as the autoplaylist selection sets. The way MM is now it is very limited. For instance, when searching using the classification fields there is no option for "is not" or "contains", also for the date fields there is no option for either a "is not", "contains" or "date ranges". I would like to know if it is possible to create a search script that would include these options? And if so, is anyone up for the challenge? I am trying to get into more autoplaylists but I cannot create them based on the criteria which I need. Am I reaching for the stars?
Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Re: New Search/Autoplaylist Selection Script
Have you tried MegaDJ? It covers all of those and you could do date ranges with greater than / less than. Not to mention lots of other stuff
stan9980
stan9980
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
Although that looks interesting and appears to solve the searching limitations, I do not see how it would help with the autoplaylists. I need the increased autoplaylist functionality more than the searching functions. If I needs just the searching functionality, I am very comfortable with Bex's Advanced Duplicate Find & Fix script, which comes really close to meeting my searching needs. And before anyone suggests it, I do not want to build multiple autoplaylists just to meet the needs for one. I already have layers of autoplaylists and they are more cumbersome than using static playlists. Through the advice of a scripter, whom I respect, I am trying to move away from so many static playlists, but I cannot do that without the added power of autoplaylists. But thanks for the suggestion.
Nyn
Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Re: New Search/Autoplaylist Selection Script
Nynaevelan, I think time came for you to try Magic Nodes.
-
- Posts: 1321
- Joined: Thu Jun 15, 2006 3:26 pm
- Location: Geelong, Victoria, Australia
Re: New Search/Autoplaylist Selection Script
Many of the fields in search/autoplaylists need tweaking as you highligt in your examples; This is a wishlist request for the developers.
Having said that they are quite powerful and duplcating them with a script would be a huge effort, just doing the missing examples, although smaller in scope, wouldn't be much better than one of the custom node creators already available.
Converting the node code to autoplaylist code is another kettle of fish. see here
It might be possible to trick an autoplaylist into using the node criteria even though it is not available through normal methods but the question is will it use it or ignore it because it isn't available normally?
Step 1
Create a couple of example custom nodes with the critera needed and post the node code here
Step 2
A scripter can have a look at converting and addng the criteria to an existing autoplaylist.
Step 3
If successful an interface for getting the custom node code into a playlist could be developed.
Having said that they are quite powerful and duplcating them with a script would be a huge effort, just doing the missing examples, although smaller in scope, wouldn't be much better than one of the custom node creators already available.
Converting the node code to autoplaylist code is another kettle of fish. see here
It might be possible to trick an autoplaylist into using the node criteria even though it is not available through normal methods but the question is will it use it or ignore it because it isn't available normally?
Step 1
Create a couple of example custom nodes with the critera needed and post the node code here
Step 2
A scripter can have a look at converting and addng the criteria to an existing autoplaylist.
Step 3
If successful an interface for getting the custom node code into a playlist could be developed.
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
I've tried Magic Nodes but I gave up using it because it was too complex for me to understand in order to build my own complex nodes without always asking for assistance. I know you may not believe this since I am always asking for help or new scripts here, but I like to have the tools to be self-sufficient. And although I cannot script or code or program or whatever it is that you all do so well, I can make modifications with trial and error to meet my needs. With all of that being said, I switched from Magic Nodes to SBondi's My Custom Nodes script which allows me to be more self-sufficient. And with less assistance than I needs with Magic Nodes, I was able to use the following nodes. I already have too many of them I do not want to build lots more just to make autoplaylists:Eyal wrote:Nynaevelan, I think time came for you to try Magic Nodes.
Code: Select all
[Options]
unknownCaption="[Unknown]"
defaulticon="Title"
defaultsortLike="None"
refresh_DynamicallyWhenTracksConvertedOrRipped==1
refresh_DynamicallyWhenTrackPropertiesChanged=1
refresh_EvenCurrentNodeManuallyOrDynamically=1
multiValueField_Artist=1
refresh_ManuallyToUpdateCounts_AddToolbarItem=0
refresh_ManuallyWithUpdatedINIFile_AddToolbarItem=1
;------------------------------------------------------------------------
[Library]
expandExisting=1
checkExistingChildren=1
[Files to Edit]
expandExisting=1
checkExistingChildren=1
;[Unclassified Tracks]
;checkExistingChildren=0
;------------------------------------------------------------------------
[Files to Edit]
hideExisting=0
[Duplicate Titles]
hideExisting=1
[Unclassified Tracks]
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=0
;------------------------------------------------------------------------
[Personal Node]
icon=Mood
expandAtStartup=1
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Testing Purposes]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="(Quality LIKE '%good%')"
parent="Personal Node"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[All Tracks]
icon=Title
sortLike=Genre
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
level=Artist
levelSortOrder=ascending
trackCriteria="(ID <> '')"
;------------------------------------------------------------------------
[Additions]
icon=Title
parent="Personal Node"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Added Today]
icon=Quality
sortLike=Genre
hideIfEmpty=1
refresh=1
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
hideIfEmpty=1
refresh=1
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
refresh=1
level=DateAdded
levelEasyCaption=BaseCaptionAndNodeCount
LevelEasySort=MostRecentlyAdded
level=Genre
easyCriteria=addedwithinthelast7days
parent="Additions"
[Date Added by Genre]
icon=Genre
sortLike=Genre
level=DateAdded
levelSortOrder=descending
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="(ID <> '')"
parent="Additions"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Modifications]
icon=Title
parent="Personal Node"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Modified Today]
icon=Quality
sortLike=Genre
hideIfEmpty=1
refresh=1
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(FileModified AS Integer) = 0)"
parent="Modifications"
[Modified Yesterday]
icon=Preview
sortLike=Genre
hideIfEmpty=1
refresh=1
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(FileModified AS Integer) = 1)"
parent="Modifications"
[Modified in Last 7 Days]
icon=Album
sortLike=Album
hideIfEmpty=1
refresh=1
level=FileModified
levelSortOrder=descending
levelEasyCaption=BaseCaptionAndTrackCount
level=Genre
trackCriteria="(([vb]Fix(CDbl(Now))[vb] - CAST(FileModified AS Integer)) <= 7)"
parent="Modifications"
[Date Modified by Genre]
icon=Genre
sortLike=Genre
level=FileModified
levelSortOrder=descending
level=Genre
levelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="(ID <> '')"
parent="Modifications"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Album Info]
icon=Album
parent="Personal Node"
;------------------------------------------------------------------------
[Body & Soul Albums]
icon=Album
sortLike=Album
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
trackCriteria="(Album LIKE 'Body & Soul%' OR Custom3 LIKE 'Body & Soul%')"
parent="Album Info"
[Compilation Albums]
icon=MultipleArtistAlbum
sortLike=Title
hideifempty=1
refresh=1
level=Album
trackCriteria="(GroupDesc = 'Compilation Album' AND AlbumArtist = 'Various Artists')"
parent="Album Info"
[Guest Artists]
icon=Artist
sortLike=Artist
level=GuestArtist
level=AlbumArtist
level=Album
easyCriteria=WithGuestArtist
parent="Album Info"
[Primary Artists]
icon=Album
sortLike=Artist
level=PrimaryArtist
level=GuestArtist
level=Album
easyCriteria=WithGuestArtist
parent="Album Info"
[1 Track Albums]
icon=Quality
sortLike=Title
level=Genre
EasyCaption=BaseCaption
TrackCriteria="IDAlbum IN (SELECT ID FROM Albums WHERE (Tracks = 1))"
parent="Album Info"
[Specialty 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"
[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"
;------------------------------------------------------------------------
[Decade Released]
icon=AlbumArt
parent="Album Info"
;------------------------------------------------------------------------
[B4 The 60's]
icon=Quality
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year < 19600000)"
parent="Decade Released"
[The 60's]
icon=Year
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year > 19590000 AND Year < 19700000)"
parent="Decade Released"
[The 70's]
icon=Genre
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year > 19690000 AND Year < 19800000)"
parent="Decade Released"
[The 80's]
icon=Mood
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year > 19790000 AND Year < 19900000)"
parent="Decade Released"
[The 90's]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year > 19890000 AND Year < 20000000)"
parent="Decade Released"
[The 00's]
icon=Rating
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year > 19990000)"
parent="Decade Released"
;------------------------------------------------------------------------
[Played]
icon=Title
parent="Personal Node"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Play Info]
icon=NowPlaying
parent="Played"
;------------------------------------------------------------------------
[Most Played Artists (10)]
icon=Artist
sortLike=Artist
EasyCaption=BaseCaptionAndTrackCount
level=AlbumArtist
levelEasyCaption=BaseCaption
levelEasyCaption=MaximumPlayCount
levelEasySort=MostPlayed
trackCriteria="((Genre = 'Slow Jams' OR Genre = 'Soundtracks' OR Genre = 'TV Tributes' OR Genre = 'HipHop' OR Genre = 'Wedding' OR Genre = 'Pop') AND ((AlbumArtist || '~' || PlayCounter) IN (SELECT AlbumArtist || '~' || Max(PlayCounter) FROM Songs WHERE (PlayCounter > 9) GROUP BY AlbumArtist)))"
parent="Play Info"
[Most Played Tracks (10)]
icon=Artist
sortLike=Artist
EasyCaption=BaseCaptionAndTrackCount
level=AlbumArtist
levelEasyCaption=BaseCaption
levelEasyCaption=MaximumPlayCount
levelEasySort=MostPlayed
trackCriteria="((AlbumArtist || '~' || PlayCounter) IN (SELECT AlbumArtist || '~' || Max(PlayCounter) FROM Songs WHERE (PlayCounter > 9) GROUP BY AlbumArtist))"
parent="Play Info"
[Weekly Top Artists]
icon=NowPlaying
sortLike=Genre
level=Genre
EasyCaption=BaseCaptionAndTrackCount
LevelEasySort=MostPlayed
trackCriteria="((Genre = 'Slow Jams' OR Genre = 'Soundtracks' OR Genre = 'TV Tributes' OR Genre = 'HipHop' OR Genre = 'Wedding' OR Genre = 'Pop') AND (([vb]Fix(CDbl(Now))[vb] - CAST(LastTimePlayed AS Integer)) <= 7) AND ((AlbumArtist || '~' || PlayCounter) IN (SELECT AlbumArtist || '~' || Max(PlayCounter) FROM Songs WHERE (PlayCounter > 9) GROUP BY AlbumArtist)))"
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 Lately?]
icon=Playlist
sortLike=Genre
level=Genre
easyCaption=BaseCaptionAndTrackCount
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(LastTimePlayed AS Integer) > 7 AND (CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(LastTimePlayed AS Integer) < 30)"
parent="Play Info"
[Played Today]
icon=MusicCD
sortLike=Genre
level=Genre
easyCaption=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=LastTimePlayed
levelCustomSort="LastTimePlayed DESC"
level=Genre
easyCriteria=playedinthelast7days
parent="Play Info"
[Played in Last 7 Days/Least Played]
icon=Album
sortLike=Album
easyCaption=BaseCaptionAndTrackCount
level=LastTimePlayed
levelCustomSort="LastTimePlayed DESC"
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
levelCustomSort="LastTimePlayed DESC"
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"
[Play Counts by Genre]
icon=Playlist
sortLike=Genre
level=Genre
levelCustomCaption="<caption> ([select]sum(PlayCounter) [select])"
levelCustomSort="sum(PlayCounter) DESC"
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 > 0)"
parent="Play Info"
;------------------------------------------------------------------------
[Playlist Info]
icon=Playlist
parent="Played"
;------------------------------------------------------------------------
[Songs In Playlist]
icon=Quality
sortLike=Title
hideifempty=1
refresh=1
level=Artist
EasyCaption=BaseCaptionAndTrackCount
level=Playlist
LevelEasyCaption=BaseCaptionAndTrackCount
trackCriteria="ID IN (SELECT IDSong FROM PlaylistSongs WHERE (IDPlaylist in (SELECT IDPlaylist FROM Playlists WHERE (IsAutoPlaylist ISNULL))))"
parent="Playlist Info"
[Playlist Totals]
icon=Genre
sortLike=Title
hideifempty=1
refresh=1
EasyCaption=BaseCaption
level=Playlist
levelCustomCaption="<caption> ([select]count(*) [select] 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"
[Conversion Playlists]
icon=Occasion
sortLike=Genre
hideifempty=1
refresh=1
level=Occasion
level=Title
trackCriteria="(Occasion <> '')"
parent="Playlist Info"
[Songs Not In Playlist]
icon=Title
sortLike=Title
level=Genre
LevelCustomCaption="<caption> (<trackcount>)"
level=Artist
EasyCaption=BaseCaptionAndTrackCount
trackCriteria="not exists (select * from PlaylistSongs where IDSong=songs.ID)"
parent="Playlist Info"
;------------------------------------------------------------------------
[Edits]
icon=FilesToEdit
parent="Personal Node"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[Album Art Not Front Cover]
icon=Artist
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
trackCriteria="(ID IN (SELECT IDSong FROM Covers WHERE (CoverType <> 3)))"
parent="Edits"
[Comments]
icon=Artist
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(Comment <> '' AND Genre <> 'Podcast')"
parent="Edits"
[Compilation Albums]
icon=MultipleArtistAlbum
sortLike=Title
hideifempty=1
refresh=1
level=Genre
trackCriteria="(GroupDesc = 'Compilation Album' AND AlbumArtist <> 'Various Artists')"
parent="Edits"
[Compilation Albums]
icon=MultipleArtistAlbum
sortLike=Title
hideifempty=1
refresh=1
level=Genre
trackCriteria="(GroupDesc <> 'Compilation Album' AND AlbumArtist = 'Various Artists')"
parent="Edits"
[Composer]
icon=Artist
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(Author <> '' AND Genre <> 'Podcast')"
parent="Edits"
[Converted Folder]
icon=Occasion
sortLike=Title
hideifempty=1
refresh=1
level=Title
trackCriteria=(SongPath LIKE '%\Music\Downloads\converted%')
parent="Edits"
[Duplicate Album Art]
icon=Artist
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
trackCriteria="(ID IN (SELECT IDSong FROM Covers WHERE (CoverOrder > 0)))"
parent="Edits"
[Find Album Art]
sortLike=Title
hideifempty=1
refresh=1
level=Album
EasyCaption=BaseCaptionAndTrackCount
trackCriteria="(ID IN (SELECT IDSong FROM Covers WHERE (PictureType LIKE '%png')))"
parent="Edits"
[Find Lyrics]
icon=MusicCD
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
level=Genre
trackCriteria=(Lyrics LIKE '%Lyrics Could Not Be Found%')
parent="Edits"
[Linked Album Art]
icon=Artist
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
trackCriteria="(ID IN (SELECT IDSong FROM Covers WHERE (CoverPath <> '' and CoverStorage = 1)))"
parent="Edits"
[Missing Album]
icon=MusicCD
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(Album = '')"
parent="Edits"
[Missing Album Analyze]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="(NormalizeAlbum = -999999.0 AND Genre <> 'Audiobook' AND (IDAlbum IN (SELECT ID FROM Albums WHERE (Tracks > 1))))"
parent="Edits"
;[Missing Album Analyze (1 Track Albums]
;icon=Album
;sortLike=Artist
;easyCaption=BaseCaptionAndTrackCount
;level=Genre
;hideifempty=1
;refresh=1
;trackCriteria="(NormalizeAlbum = -999999.0 AND Genre <> 'Audiobook' AND (IDAlbum IN (SELECT ID FROM Albums WHERE (Tracks = 1))))"
;parent="Edits"
[Missing Album Art]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="((ID NOT IN (SELECT IDSong FROM Covers)) AND (Genre <> 'Podcast'))"
parent="Edits"
;[Missing Artist Comments]
;icon=Artist
;sortLike=Artist
;level=Artist
;level=Title
;EasyCaption=BaseCaption
;TrackCriteria="ID IN (SELECT Artist FROM Artists WHERE (Artists.Comment = '' AND Artist LIKE 'A%'))"
;parent="Edits"
[Missing BPM]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(BPM = -1 AND Genre <> 'Podcast')"
parent="Edits"
[Missing Disc Number]
icon=MusicCD
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(DiscNumber = '' AND Genre <> 'Podcast')"
parent="Edits"
[Missing Gender]
icon=Genre
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
level=Genre
trackCriteria="(Custom1 = '' AND Genre <> 'Podcast')"
parent="Edits"
[Missing Lyrics]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
level=Genre
trackCriteria="(Lyrics = '' AND Genre <> 'Podcast')"
parent="Edits"
[Missing Lyrics (Playlist)]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
level=Genre
trackCriteria="(Lyrics = '' AND ID IN (SELECT IDSong FROM PlaylistSongs WHERE (IDPlaylist in (SELECT IDPlaylist FROM Playlists WHERE (IsAutoPlaylist ISNULL)))) AND Genre <> 'Podcast')"
parent="Edits"
[Missing Mood]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="(Mood = '' AND Genre <> 'Podcast')"
parent="Edits"
[Missing Quality]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="(Quality = '' AND Genre <> 'Podcast')"
parent="Edits"
[Missing Tempo]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="(Tempo = '' AND Genre <> 'Podcast')"
parent="Edits"
[Missing Track Analyze]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
trackCriteria="(NormalizeTrack = -999999.0 AND Genre <> 'Audiobook')"
parent="Edits"
;[Remove Track Analysis]
;icon=Album
;sortLike=Artist
;easyCaption=BaseCaptionAndTrackCount
;hideifempty=1
;refresh=1
;trackCriteria="(NormalizeTrack > -999999.0)"
;parent="Edits"
[Missing Track Number]
icon=MusicCD
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(TrackNumber = '' AND Genre <> 'Podcast')"
parent="Edits"
[Multiple Album Art]
icon=Artist
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
trackCriteria="(ID IN (SELECT IDSong FROM Covers WHERE (CoverStorage > 1)))"
parent="Edits"
[Track Analyze Too High]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndNodeCount
hideifempty=1
refresh=1
trackCriteria="(NormalizeTrack > 9)"
parent="Edits"
[Unanalyzed Tracks]
icon=Album
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
level=Genre
hideifempty=1
refresh=1
trackCriteria="(SignPart1 = 0 OR SignPart2 = 0 OR SignPart3 = 0 OR SignPart4 = 0)"
parent="Edits"
;------------------------------------------------------------------------
[Reports]
icon=Title
parent="Personal Node"
;------------------------------------------------------------------------
;------------------------------------------------------------------------
[New For Review]
icon=Preview
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
hideifempty=1
refresh=1
level=Genre
level=Title
trackCriteria="((CAST([vb]CDbl(Now)[vb] AS Integer)) - CAST(DateAdded AS Integer) <= 14 AND PlayCounter=0)"
trackCriteria="(Genre <> 'Audiobook')"
parent="Reports"
[Replace Fake Plays]
icon=Genre
sortLike=Genre
EasyCaption=BaseCaptionAndTrackCount
level=Genre
levelSortOrder=ascending
trackCriteria="(Custom4 LIKE '%Fake%')"
parent="Reports"
[Tracks Backed Up]
icon=Artist
sortLike=Title
easyCaption=BaseCaptionAndTrackCount
trackCriteria="(ID IN (SELECT TrackBackup.ID FROM TrackBackup WHERE (Songs.ID=TrackBackup.ID)))"
parent="Reports"
[Track(s) BackUp Needed]
icon=Artist
sortLike=Title
hideifempty=1
refresh=1
easyCaption=BaseCaptionAndTrackCount
trackCriteria="(ID NOT IN (SELECT ID FROM TrackBackup))"
parent="Reports"
MoDementia wrote:Many of the fields in search/autoplaylists need tweaking as you highligt in your examples; This is a wishlist request for the developers.
Having said that they are quite powerful and duplcating them with a script would be a huge effort, just doing the missing examples, although smaller in scope, wouldn't be much better than one of the custom node creators already available.
Converting the node code to autoplaylist code is another kettle of fish. see here
It might be possible to trick an autoplaylist into using the node criteria even though it is not available through normal methods but the question is will it use it or ignore it because it isn't available normally?
Step 1
Create a couple of example custom nodes with the critera needed and post the node code here
Step 2
A scripter can have a look at converting and addng the criteria to an existing autoplaylist.
Step 3
If successful an interface for getting the custom node code into a playlist could be developed.
MoD:
This would not help me convert static playlists to autoplaylists. I already have nodes which could possibly bring me closer and with the use of Bex's PlayHistory and Last 100 scripts, I can generate more of what I need. But this does not bring me closer to being AUTOMATED which is the whole point of the request. If I am going to go through all this trouble, it is much easier to stick to building static playlists. I already have 17 autoplaylists just to generate 8 static playlists. And that does not take into account the static playlists that are generated from data from Bex's Last 100 script and the Top 100 portion of the PlayHistory script. And then let's not forget the 3 autoplaylists which are built from the data from the Custom Search portion of Bex's Advanced Duplicate Find & Fix script in order to identify and evaluate duplicates. I'm sure I've said this many times but playlists, play counts and dates drive by db. I was looking for a way to minimize my use of static playlists but I think I need to stick with my static playlists, they work for me. And why break what isn't broken? I just want a more complex searching system and better autoplaylist criteria so that I can take these nodes and scripts and many playlists and minimize them. If you can use the criteria to create nodes, why can it not be used to make autoplaylists?
Nyn
Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
-
- Posts: 1321
- Joined: Thu Jun 15, 2006 3:26 pm
- Location: Geelong, Victoria, Australia
Re: New Search/Autoplaylist Selection Script
That was the point of my postnynaevelan wrote: why can it not be used to make autoplaylists?
It maybe possible to take the information you usually enter for a custom node and convert it into an autoplaylist, or more precisely add it to an existing autoplaylist that won't allow it normally
The problem is that autoplaylists are not in plain english (SQL) and there is no conversion table available so it is quite a bit of trial and error (field by field) to convert the node sql to something an autoplaylist can use.
Because there is no conversion table, to make the trial and error process possible/meaningful requires real examples of working SQL so that we can concentrate on the fields and operators used first.
The script could only be released with limited functionallity as each conversion formula is found
i.e.
classification: "is not"
SQL = Songs.Classification NOT LIKE '%...%'
AutoPlaylist = [AdvCond1] DBField=Songs.Classification DBFieldPerType=1 Condition=301 Value=3324
Hopefully after a few examples a pattern may emerge which will make the conversion process applicable to any field.
Initially it will need to be concentrated on specific requirements until such a pattern is discovered.
So from the list of nodes you posted which are the top 2-3 (that can't be created as an autoplaylist) you would like attempted to be converted first?
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
Oh, I totally missed that. I thought the point of the two posts were to convert me over to custom nodes. In that case, I think these ones would be the closest to meeting what I am looking for at the moment.
These could probably be interchanged to meet my needs. They could be a good starting point.
Nyn
Code: Select all
[Most Played Artists (10)]
icon=Artist
sortLike=Artist
EasyCaption=BaseCaptionAndTrackCount
level=AlbumArtist
levelEasyCaption=BaseCaption
levelEasyCaption=MaximumPlayCount
levelEasySort=MostPlayed
trackCriteria="((Genre = 'Slow Jams' OR Genre = 'Soundtracks' OR Genre = 'TV Tributes' OR Genre = 'HipHop' OR Genre = 'Wedding' OR Genre = 'Pop') AND ((AlbumArtist || '~' || PlayCounter) IN (SELECT AlbumArtist || '~' || Max(PlayCounter) FROM Songs WHERE (PlayCounter > 9) GROUP BY AlbumArtist)))"
parent="Play Info"
[The 80's]
icon=Mood
sortLike=Artist
easyCaption=BaseCaptionAndTrackCount
hideIfEmpty=1
refresh=1
level=Year
level=Genre
LevelEasyCaption=BaseCaption
trackCriteria="(Year > 19790000 AND Year < 19900000)"
parent="Decade Released"
[Weekly Top Artists]
icon=NowPlaying
sortLike=Genre
level=Genre
EasyCaption=BaseCaptionAndTrackCount
LevelEasySort=MostPlayed
trackCriteria="((Genre = 'Slow Jams' OR Genre = 'Soundtracks' OR Genre = 'TV Tributes' OR Genre = 'HipHop' OR Genre = 'Wedding' OR Genre = 'Pop') AND (([vb]Fix(CDbl(Now))[vb] - CAST(LastTimePlayed AS Integer)) <= 7) AND ((AlbumArtist || '~' || PlayCounter) IN (SELECT AlbumArtist || '~' || Max(PlayCounter) FROM Songs WHERE (PlayCounter > 9) GROUP BY AlbumArtist)))"
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 > 0)"
parent="Play Info"
Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Re: New Search/Autoplaylist Selection Script
Because that's what MegaDJ creates. It's a fairly simple way to add a huge amount of power to AutoPlaylistsnynaevelan wrote:I do not see how it would help with the autoplaylists
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
Maybe I am misunderstanding it, but this looks like another script to create custom nodes. Am I misinterepreting it? If not, I already have a script to create nodes, I am trying to avoid creating the nodes and going straight to the autoplaylist. I am neither a programmer or SQL-literate so I want something that I can use plain English in to create the playlists to suit my needs.
Nyn
Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Re: New Search/Autoplaylist Selection Script
MegaDJ creates autoplaylists under it's own MegaDJ node. It handles the features you wanted in original post and provides a dropdown menu of fields and commands when you are building them, so it reasonably straightforward to use, it won't quite be plain English, but it's only slightly more complicated than creating a standard AutoPlaylist.
I think I'm getting slightly confused between what you mean by nodes and autoplaylists. My understanding of a node is that it will show all the tracks with the criteria you've set, whereas an AutoPlaylist will show a (possibly random) selection of tracks with the criteria you've set.
I think I'm getting slightly confused between what you mean by nodes and autoplaylists. My understanding of a node is that it will show all the tracks with the criteria you've set, whereas an AutoPlaylist will show a (possibly random) selection of tracks with the criteria you've set.
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
I do not know all the differences between the two but the main one for me is, a node cannot be synced to my portable device as a playlist, which is the ultimate goal of all my "playing" playlists. If this script cannot go directly to a playlist, it kind of defeats the purpose, since I am familiar with a different node creation script. But I am willing to give this one a test run.
nyn
nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
Hey:MoDementia wrote:That was the point of my postnynaevelan wrote: why can it not be used to make autoplaylists?
It maybe possible to take the information you usually enter for a custom node and convert it into an autoplaylist, or more precisely add it to an existing autoplaylist that won't allow it normally
The problem is that autoplaylists are not in plain english (SQL) and there is no conversion table available so it is quite a bit of trial and error (field by field) to convert the node sql to something an autoplaylist can use.
Because there is no conversion table, to make the trial and error process possible/meaningful requires real examples of working SQL so that we can concentrate on the fields and operators used first.
The script could only be released with limited functionallity as each conversion formula is found
i.e.
classification: "is not"
SQL = Songs.Classification NOT LIKE '%...%'
AutoPlaylist = [AdvCond1] DBField=Songs.Classification DBFieldPerType=1 Condition=301 Value=3324
Hopefully after a few examples a pattern may emerge which will make the conversion process applicable to any field.
Initially it will need to be concentrated on specific requirements until such a pattern is discovered.
So from the list of nodes you posted which are the top 2-3 (that can't be created as an autoplaylist) you would like attempted to be converted first?
Question, instead of having to convert the sql statements of the nodes, is it possible to be able to create autoplaylists based on the nodes themselves? In other words, the criteria would be node = X? That way there would be no need for conversion, but it would need to be able to select both native MM nodes and/or script created nodes. Is this possible, easier?
Nyn
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Re: New Search/Autoplaylist Selection Script
I'm not sure but I don't think the dev's will let scripters access the Auto-Playlist code since it's a Gold feature.
The best thing to do would be to point out for the dev's exactly what search features are missing so they become aware of it and can implement them.
I'm pretty sure such request will be implemented. After all, the math is simple here. Nicely implemented gold features makes more people to upgrade which generates more income.
Start a new thread in the wish-list forum and we can all help out to make the request to be really good!
The best thing to do would be to point out for the dev's exactly what search features are missing so they become aware of it and can implement them.
I'm pretty sure such request will be implemented. After all, the math is simple here. Nicely implemented gold features makes more people to upgrade which generates more income.
Start a new thread in the wish-list forum and we can all help out to make the request to be really good!
Advanced Duplicate Find & Fix Find More From Same - Custom Search. | Transfer PlayStat & Copy-Paste Tags/AlbumArt between any tracks.
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
Tagging Inconsistencies Do you think you have your tags in order? Think again...
Play History & Stats Node Like having your Last-FM account stored locally, but more advanced.
Case & Leading Zero Fixer Works on filenames too!
All My Scripts
-
- Posts: 5559
- Joined: Wed Feb 07, 2007 11:07 pm
- Location: New Jersey, USA
- Contact:
Re: New Search/Autoplaylist Selection Script
3.2x - Win7 Ultimate (Zen Touch 2 16 GB/Zen 8GB)
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files
Link to Favorite Scripts/Skins
Join Dropbox, the online site to share your files