Posted: Fri Jun 30, 2006 12:33 am
media monkey already has a search feature just type what you're looking for and it pops up in the list view. 
The Music Manager for Serious Collectors
http://mediamonkey.com/forum/
Separate filters for all panes seem helpful maybe. I don't directly see how one filter for all panes can be handy.what about adding a search function/ filter
Code: Select all
Call SDB.MainTracksWindow.AddTracksFromQuery("" _
+ "AND Artists.ID=" + ArtistsTag + " AND Albums.ID=" + AlbumsTag)Code: Select all
Call SDB.MainTracksWindow.AddTracksFromQuery("" _
+ "AND Artists.ID=" + ArtistsTag + " AND Albums.ID=" + AlbumsTag + " ORDER BY Songs.SongOrder")Code: Select all
Sub DoAlbums
If lvAlbums.Interf.SelectedItem Is Nothing Then Exit Sub
Call SDB.ProcessMessages
If CustomTag = "ALL" Then
If ArtistsTag = "ALL" Then
If AlbumsTag = "ALL" Then
Call SDB.MainTracksWindow.AddTracksFromQuery("" _
+ "ORDER BY Artists.Artist, Albums.Album, Songs.SongOrder")
Else
Call SDB.MainTracksWindow.AddTracksFromQuery("" _
+ "AND Albums.ID=" + AlbumsTag + " ORDER BY Songs.SongOrder")
End If
Else
If AlbumsTag = "ALL" Then
Call SDB.MainTracksWindow.AddTracksFromQuery("" _
+ "AND Artists.ID=" + ArtistsTag + " ORDER BY Albums.Album, Songs.SongOrder")
Else
Call SDB.MainTracksWindow.AddTracksFromQuery("" _
+ "AND Artists.ID=" + ArtistsTag + " AND Albums.ID=" + AlbumsTag + " ORDER BY Songs.SongOrder")
End If
End If
Else
If CustomPaneKind = "Genres" Then
If ArtistsTag = "ALL" Then
If AlbumsTag = "ALL" Then
Call AddTracksFromQueryAdvanced("" _
+ "SELECT Songs.ID " _
+ "FROM Genres INNER JOIN Songs ON Genres.IDGenre = Songs.Genre " _
+ "WHERE Genres.IDGenre=" + CustomTag)
Else
Call AddTracksFromQueryAdvanced("" _
+ "SELECT Songs.ID " _
+ "FROM (Genres INNER JOIN Songs ON Genres.IDGenre = Songs.Genre) INNER JOIN Albums ON Songs.IDAlbum = Albums.ID " _
+ "WHERE (Genres.IDGenre=" + CustomTag + " AND Albums.ID=" + AlbumsTag + ")")
End If
Else
If AlbumsTag = "ALL" Then
Call AddTracksFromQueryAdvanced("" _
+ "SELECT Songs.ID " _
+ "FROM Artists INNER JOIN (Genres INNER JOIN Songs ON Genres.IDGenre = Songs.Genre) ON Artists.ID = Songs.IDArtist " _
+ "WHERE (Genres.IDGenre=" + CustomTag + " AND Artists.ID=" + ArtistsTag + ")")
Else
Call AddTracksFromQueryAdvanced("" _
+ "SELECT Songs.ID " _
+ "FROM (Artists INNER JOIN (Genres INNER JOIN Songs ON Genres.IDGenre = Songs.Genre) ON Artists.ID = Songs.IDArtist) INNER JOIN Albums ON Songs.IDAlbum = Albums.ID " _
+ "WHERE (Genres.IDGenre=" + CustomTag + " AND Artists.ID=" + ArtistsTag + " AND Albums.ID=" + AlbumsTag + ")")
End If
End If
Else
If ArtistsTag = "ALL" Then
If AlbumsTag = "ALL" Then
Call AddTracksFromQueryAdvanced("" _
+ "SELECT DISTINCT Songs.ID " _
+ "FROM Lists INNER JOIN (AddSongInfoInt INNER JOIN Songs ON AddSongInfoInt.IDSong = Songs.ID) ON Lists.ID = AddSongInfoInt.IntData " _
+ "WHERE AddSongInfoInt.DataType=1010" & GetIDListType(CustomPaneKind) & " AND Lists.ID=" + CustomTag)
Else
Call AddTracksFromQueryAdvanced("" _
+ "SELECT DISTINCT Songs.ID " _
+ "FROM Albums INNER JOIN (Lists INNER JOIN (AddSongInfoInt INNER JOIN Songs ON AddSongInfoInt.IDSong = Songs.ID) ON Lists.ID = AddSongInfoInt.IntData) ON Albums.ID = Songs.IDAlbum " _
+ "WHERE AddSongInfoInt.DataType=1010" & GetIDListType(CustomPaneKind) & " AND Albums.ID=" + AlbumsTag + " AND Lists.ID=" + CustomTag)
End If
Else
If AlbumsTag = "ALL" Then
Call AddTracksFromQueryAdvanced("" _
+ "SELECT Songs.ID " _
+ "FROM Artists INNER JOIN (Albums INNER JOIN (Lists INNER JOIN (AddSongInfoInt INNER JOIN Songs ON AddSongInfoInt.IDSong = Songs.ID) ON Lists.ID = AddSongInfoInt.IntData) ON Albums.ID = Songs.IDAlbum) ON (Artists.ID = Songs.IDArtist) " _
+ "WHERE AddSongInfoInt.DataType=1010" & GetIDListType(CustomPaneKind) & " AND Lists.ID=" + CustomTag + " AND Artists.ID=" + ArtistsTag)
Else
Call AddTracksFromQueryAdvanced("" _
+ "SELECT Songs.ID " _
+ "FROM (Albums INNER JOIN (Artists INNER JOIN Songs ON Artists.ID = Songs.IDArtist) ON (Songs.IDAlbum = Albums.ID)) INNER JOIN (Lists INNER JOIN AddSongInfoInt ON Lists.ID = AddSongInfoInt.IntData) ON Songs.ID = AddSongInfoInt.IDSong " _
+ "WHERE Albums.ID=" + AlbumsTag + " AND Artists.ID=" + ArtistsTag + " AND AddSongInfoInt.DataType=1010" & GetIDListType(CustomPaneKind) & " AND Lists.ID=" + CustomTag)
End If
End If
End If
End If
Set PreviousAlbumsItem = lvAlbums.Interf.SelectedItem
Call SDB.ProcessMessages
LastSelection = " "
End SubCode: Select all
Sub AddTracksFromQueryAdvanced(FullQuery)
Call SDB.MainTracksWindow.AddTracksFromQuery("AND Songs.ID IN (" & FullQuery & ")" + " ORDER BY Artists.Artist, Albums.Album, Songs.SongOrder")
End SubSure, modifications are always welcome. Actually, I welcome anyone who can "update" this script a bit, to take into account the various wishes posted here. Maybe someone can make the script a bit more "modular" (the SQL part) as all the necessary 'fine-tuned-for-speed' queries are a lot for me... That makes that it's not very fun to edit things (certainly when a 'newer' version's gui is broken due to a dubious reason, and I really want it to work but it seems impossible46AND2 wrote:...I hope, this is okay for you Steegy...