Skip to content

Commit c6fe159

Browse files
committed
Fix late bound resolution in music
1 parent f13355b commit c6fe159

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

modMusic.vb

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,11 @@ Module modMusic
6262
End Sub
6363

6464
Public Function PlayAlbum(ByVal strAlbumName As String) As String
65-
Dim oQuery As Object
66-
oQuery = MusicPlayer.mediaCollection.createQuery()
65+
Dim oQuery As IWMPQuery
66+
Dim mediaC As IWMPMediaCollection2 = CType(MusicPlayer.mediaCollection, IWMPMediaCollection2)
67+
oQuery = mediaC.createQuery()
6768
oQuery.AddCondition("Album", "Contains", strAlbumName)
68-
MusicPlayer.currentPlaylist = CType(MusicPlayer.mediaCollection.getPlaylistByQuery(oQuery, "audio", "", False), IWMPPlaylist)
69+
MusicPlayer.currentPlaylist = mediaC.getPlaylistByQuery(oQuery, "audio", "", False)
6970
If MusicPlayer.currentPlaylist.count > 0 Then
7071
isPlaying = True
7172
Return "Playing songs from " + strAlbumName
@@ -76,10 +77,11 @@ Module modMusic
7677
End Function
7778

7879
Public Function PlayArtist(ByVal strArtistName As String) As String
79-
Dim oQuery As Object
80-
oQuery = MusicPlayer.mediaCollection.createQuery()
80+
Dim oQuery As IWMPQuery
81+
Dim mediaC As IWMPMediaCollection2 = CType(MusicPlayer.mediaCollection, IWMPMediaCollection2)
82+
oQuery = mediaC.createQuery()
8183
oQuery.AddCondition("Author", "Contains", strArtistName)
82-
MusicPlayer.currentPlaylist = CType(MusicPlayer.mediaCollection.getPlaylistByQuery(oQuery, "audio", "", False), IWMPPlaylist)
84+
MusicPlayer.currentPlaylist = mediaC.getPlaylistByQuery(oQuery, "audio", "", False)
8385
If MusicPlayer.currentPlaylist.count > 0 Then
8486
isPlaying = True
8587
Return "Playing some " + strArtistName
@@ -90,10 +92,11 @@ Module modMusic
9092
End Function
9193

9294
Public Function PlayGenre(ByVal strGenre As String) As String
93-
Dim oQuery As Object
94-
oQuery = MusicPlayer.mediaCollection.createQuery()
95+
Dim oQuery As IWMPQuery
96+
Dim mediaC As IWMPMediaCollection2 = CType(MusicPlayer.mediaCollection, IWMPMediaCollection2)
97+
oQuery = mediaC.createQuery()
9598
oQuery.AddCondition("Genre", "Contains", strGenre)
96-
MusicPlayer.currentPlaylist = CType(MusicPlayer.mediaCollection.getPlaylistByQuery(oQuery, "audio", "", False), IWMPPlaylist)
99+
MusicPlayer.currentPlaylist = mediaC.getPlaylistByQuery(oQuery, "audio", "", False)
97100
If MusicPlayer.currentPlaylist.count > 0 Then
98101
isPlaying = True
99102
Return "Playing some " + strGenre + " music"
@@ -133,10 +136,11 @@ Module modMusic
133136
End Sub
134137

135138
Public Function PlaySong(ByVal strSongName As String) As String
136-
Dim oQuery As Object
137-
oQuery = MusicPlayer.mediaCollection.createQuery()
139+
Dim oQuery As IWMPQuery
140+
Dim mediaC As IWMPMediaCollection2 = CType(MusicPlayer.mediaCollection, IWMPMediaCollection2)
141+
oQuery = mediaC.createQuery()
138142
oQuery.AddCondition("Title", "Contains", strSongName)
139-
MusicPlayer.currentPlaylist = CType(MusicPlayer.mediaCollection.getPlaylistByQuery(oQuery, "audio", "", False), IWMPPlaylist)
143+
MusicPlayer.currentPlaylist = mediaC.getPlaylistByQuery(oQuery, "audio", "", False)
140144
If MusicPlayer.currentPlaylist.count > 0 Then
141145
isPlaying = True
142146
Return "Playing " + strSongName

0 commit comments

Comments
 (0)